#debugging #emacs
#отладка #emacs
Вопрос:
Я использую gdb версии 7.0 для отладки из emacs. GDB при запуске из emacs ведет себя несколько иначе по сравнению с тем, который запускается из командной строки. Отличия заключаются в следующем :-
-
запрос gdb при запуске из emacs не распознает файлы в текущем каталоге (из которого запускается сеанс gdb).) Это очень громоздко, так как при запуске приложения через gdb (используя run) вам приходится указывать полный абсолютный путь к файлу. Это не тот случай, когда вы запускаете приложение через gdb из командной строки.
-
Клавиши со стрелками (которые выдают самые последние команды, введенные в приглашении gdb) не работают для gdb, запущенной из emacs. Вместо этого он перемещает прокрутку вверх и вниз в командной строке emacs gdb. Я делаю здесь что-то не так ..?
Спасибо и с уважением
Ответ №1:
- поскольку вы находитесь в буфере, перемещайтесь вверх и вниз по буферу. большинство буферов, подобных оболочке emacs, обращаются к истории команд с помощью «C-up» и «C-down».
Комментарии:
1. Привет, спасибо за команду. Кажется, он обращается к истории. Требуется ли что-либо сделать, чтобы увеличить длину сохраняемой истории? Он просто показывает длину истории: 1 и запускается как команда. Я использовал ‘n’ и ‘s’ в gdb, которые не показаны.
2. Что касается (1.) части вопроса, я выяснил, что нам нужно ‘cd’ по желаемому пути один раз из приглашения gdb, поскольку emacs перемещается в местоположение двоичного файла, запущенного в gdb.
3. @rob — я бы предположил, что история имеет приличную длину, хотя я не знаю, как изменить настройку. я не совсем понимаю, что вы имеете в виду, когда вы говорите «Это просто показывает длину истории: 1 и выполняется как команда».
4. ДА. вы правы. История имеет достаточно приличную длину. Я имел в виду, что история показывает только ‘run’ (команда gdb) как присутствующую и ничего больше.