Отладчик Python не останавливается на точках останова

я нахожусь в среде разработки на основе linux, где у меня нет прав суперпользователя.

моя основная проблема в том, что точки останова, которые я устанавливаю в emacs через pdb, никогда не работают. Отладчик никогда не останавливается в этих точках останова.

после изучения этой проблемы, я подозреваю, что это потому, что путь точки останова не соответствует истинному пути к файлу.

во-первых, путь, который я вижу из командной строки идет как это:

/home/me/a/b

но администраторы настроили его так, что /home / me на самом деле является символической ссылкой на скрытое монтирование

/.hidden/x/me/a/b

когда я запускаю emacs из /home/me/a/b и попробуйте отладить test.py в этой директории путем выдачи M-x pdb а то pdb test.py, заголовок gud буфер заявляет, что полный путь к файлу

/.hidden/x/me/a/b/test.py

затем, когда я пытаюсь установить точку останова в файле Python с M-x space приглашения я вижу в разделе gud буфера это

Breakpoint X at /home/me/a/b/test.py:Y

точка останова находится под /home/me/a/b/test.py но путь к файлу в заголовке gud буфер /.hidden/x/me/a/b/test.py. И отладчик не останавливается на точке останова, что очень раздражает.

я получаю подтверждение моих подозрений, когда я явно cd на /.hidden/x/me/a/b/ и затем запустите emacs. Затем я могу установить точки останова, и отладчик останавливается на них.

в настоящее время мое решение явно cd на правильный путь и начать emacs.

но есть ли лучшие решения? Через emacs, bash или python?

5
задан JasonMond
источник

1 ответов

вы можете заставить emacs всегда открывать файлы, используя абсолютные реальные имена:

(setq find-file-visit-truename t)
1
отвечен Tiago 2015-03-18 18:30:33
источник

Другие вопросы bash debugger emacs linux python