Есть ли способ переключиться на сборку при отладке программы на C или С++ в gdb? (Учитывая, что все исходные файлы и их соответствующие файлы сборки доступны)
Переключение на сборку в 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 не работает, хотя
Изменить: они опубликовали недавно и сказали, что его функция, которая еще не реализована. (проверьте ссылку выше)