Почему опция "Ожидание точки останова" не отображается при использовании DDD?

Всем привет!

Спасибо за помощь заранее.

Я пытаюсь отладить исполняемый файл с несколькими файлами, и мне нужно поместить точку останова за пределы текущего файла. Когда я делаю это с CLI GDB, он говорит мне, что исходный файл не находится в текущем контексте, но спрашивает, хочу ли я выполнить точку останова в ожидании:

GNU gdb (GDB) 7.5.1
[...]
(gdb) file /caer/bin/DAP_Alm
Reading symbols from /caer/bin/DAP_Alm...done.
(gdb) break /caer/src/dac/dap/intsrv/DAP_CalcFns.c:22217
No source file named /caer/src/dac/dap/intsrv/DAP_CalcFns.c.
Make breakpoint pending on future shared library load? (and or [n]) and

Breakpoint 1 (/caer/src/dac/dap/intsrv/DAP_CalcFns.c:22217) pending.

Но когда я делаю это из DDD с той же версией GDB, я не получаю опцию для установки точки останова в ожидании:

GNU DDD 3.3.9 
[...]
(gdb) file /caer/bin/DAP_Alm
Reading symbols from /caer/bin/DAP_Alm...done.
(gdb) break /caer/src/dac/dap/intsrv/DAP_CalcFns.c:22217
No source file named /caer/src/dac/dap/intsrv/DAP_CalcFns.c.
(gdb)

Вопрос в том, почему эта опция не появляется у меня из DDD? Стоит ли что-то активировать в настройке DDD?

2 ответа

Но когда я делаю это из DDD с той же версией GDB, я не получаю опцию для установки точки останова в ожидании:

DDD, вероятно, использует set confirm off при запуске ГБД.

Это должно позволить вам установить ожидающую точку останова в DDD:

(gdb) set confirm on
(gdb) break /caer/src/dac/dap/intsrv/DAP_CalcFns.c:22217

Я нашел есть этот вариант. (из https://sourceware.org/gdb/onlinedocs/gdb/Set-Breaks.html)

      set breakpoint pending auto
This is the default behavior. When GDB cannot find the breakpoint location, it queries you whether a pending breakpoint should be created.

set breakpoint pending on
This indicates that an unrecognized breakpoint location should automatically result in a pending breakpoint being created.

set breakpoint pending off
This indicates that pending breakpoints are not to be created. Any unrecognized breakpoint location results in an error. This setting does not affect any pending breakpoints previously created.

show breakpoint pending
Show the current behavior setting for creating pending breakpoints.

и я проверил это set breakpoint pending onработает для меня (это делает его ожидающим без моего подтверждения).

Другие вопросы по тегам