2014-12-29 4 views
1

Кто-нибудь знает, как использовать gdb в emacs?Запуск GDB в EMACS

Я использую эту команду, чтобы создать мою программу

/home/cdim/Local/gcc-4.9.2/bin/gfortran -ffree-form -g ./utests/test_gdb.f -o test_gdb 

Я собираюсь Emacs Tools затем Debugger (GDB). Затем я нажимаю кнопку run и ничего не происходит.

ответ

0

Что делает test_gdb, если вы запустите его снаружи gdb? Если он не выводит вывод на экран, то это (то есть нет вывода) именно то, что вы увидите при его запуске внутри из gdb - если вы не установили точки останова. Вы установили точку останова? И сколько ничего не происходит, когда вы нажимаете run? Даже если test_gdb не производит никакого вывода, если все хорошо, вы должны по-прежнему видеть GDB отображать уведомления как

[Inferior 1 (process 12345) exited normally] 

Рассмотрим test.f:

Program p 
    Integer :: i = 1 
    Print *, i 
    End 

Я бы скомпилировать это с gfortran -ffree-form -g -ggdb test.f -o test_gdb.

(От https://gcc.gnu.org/onlinedocs/gcc-4.9.2/gcc/Debugging-Options.html#Debugging-Options:.

-ggdb

Produce отладочную информацию для использования GDB Это означает, что использовать наиболее выразительный формат доступный (DWARF 2, наносит удар, или собственный формат, если ни один из те, поддерживаются), в том числе GDB расширения, если это вообще возможно.

)

Тогда, как вы сказали, перейдите к Tools -> Debugger (GDB) (или введите M-x gdb) в emacs и убедитесь, что вызов gdb использует полный путь к исполняемому файлу, например. Run gdb (like this): gdb -i=mi /foo/bar/test_gdb. Хит возвращается в этом минибуфере.

Теперь установить контрольную точку в новом *gud-test_gdb* буфере:

(gdb) break p 
Breakpoint 1 at 0x4007e1: file test.f, line 3. 

Затем перейдите к пункту меню Gud -> Run.

0

Esc + x then entern gdb ... и введите ваш файл приложения. он запустит gdb в emacs

0

Я решил проблему, перейдя на Trisquel 7.0. Возможно, это была проблема установки.

Смежные вопросы