Переключение на сборку в gdb

Есть ли способ переключиться на сборку при отладке программы на C или С++ в gdb? (Учитывая, что все исходные файлы и их соответствующие файлы сборки доступны)

Ответ 1

Есть способ разобрать функцию или определенный раздел кода, это то, что вы после?

Команда для этого будет disassemble <function name> или ячейкой памяти.

Это то, о чем вы говорите?

(gdb) help disassemble
Disassemble a specified section of memory.
Default is the function surrounding the pc of the selected frame.
With a single argument, the function surrounding that address is dumped.
Two arguments are taken as a range of memory to dump.

Ответ 2

Вы можете переключиться на макет asm в gdb:

(gdb) layout asm

Подробнее см. здесь.

Ответ 3

В новой версии gdb версии 7.0 команда disassemble может принимать новый аргумент /m, который заставляет его испускать смешанный источник и разборку.

Ответ 4

Использование команды disas, вероятно, сделает то, что вы хотите.

В соответствии с внутренней помощью команда disas выполняет следующие действия:

Disassemble a specified section of memory.
Default is the function surrounding the pc of the selected frame.
With a single argument, the function surrounding that address is dumped.
Two arguments are taken as a range of memory to dump.

Ответ 5

Этот вопрос также задавался в cgdb googlegroup https://groups.google.com/forum/?hl=de&fromgroups=#!topic/cgdb-users/E-jZCJiBAQQ

Еще нет ответа, почему layout asm не работает, хотя

Изменить: они опубликовали недавно и сказали, что его функция, которая еще не реализована. (проверьте ссылку выше)