У меня есть код на вычислительном узле кластера. Я не могу SSH непосредственно на вычислительном узле, так что я первый настроить SSH туннель судаленная отладка emacs 24 и gdb
ssh -f cluster.master.node -L 2222:cluster.compute.node:22 -N.
Далее я посещаю файл с
Cx Cf/SSH: пользователь @ локальный # 2222/путь /to/blah.c.
Наконец я
M-х GDB.
В Emacs 23 Я бы
отлаживать (как это), GDB --annotate = 3/SSH: локальный # 2222:/путь/к/Программа
но документация для функции GdB в emacs 24 говорит: «В командной строке параметры должны включать -i = mi для использования текстового интерфейса MI в gdb. Обратите внимание, что старая опция« -annotate »больше не поддерживается».
Запуск
GDB (как это), GDB --i = т/SSH: loalhost # 2222:/путь/к/Программа
, кажется, работает, но когда я пытаюсь запустить программу, которую я get "Начальная программа:/misc/home/joey/git/proteus/proteus/dev/pts/5: Нет такого файла или каталога." Проблемы, по-видимому, связаны с несуществующим/разным/каталогом, предшествующим пути исполняемого файла. Даже когда я делаю cd to/home/joey/git/proteus /, ответ «Рабочий каталог/home/joey/git/proteus (canonically/misc/home/joey/git/proteus)».
Могу ли я удаленно отлаживать свою программу в Emacs 24 или мне нужно вернуться к 23?
Благодаря @Stefan это работает. – jrm