1

Я нахожусь в среде разработки на основе 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?

1 ответ1

1

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

(setq find-file-visit-truename t)

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .