#c #c #assembly #gdb
#c #c #сборка #gdb
Вопрос:
Я ищу программу для наблюдения за стеком выполнения программы на c / c . В настоящее время я использую gdb для этой цели.
Следующая команда показывает содержимое стека:
x/12xg $rsp
для выполнения инструкции за инструкцией я использую
stepi
Можно ли объединить эти команды с командами, чтобы я мог просматривать ассемблерный код и наблюдать за стеком? Если у вас есть другое возможное решение / программа, я с нетерпением жду этого.
Комментарии:
1. Это может зависеть от того, что вы хотите сделать («почему?»). Вы могли бы устанавливать точки останова в записях функций, вы могли бы использовать операторы печати для получения вашей информации и т.д.
2. Вы можете использовать
display
gdb
или даже автоматизировать его, чтобы он проходил через всю вашу программу.3. @Jester, к сожалению
display x/12xg $rsp
, не работает?4.
display/12xg $rsp
должен.
Ответ №1:
Вы можете комбинировать команды, используя define
, например:
(gdb) define mystep
> stepi
> x/whatever $rsp
> end
Теперь mystep
следует выполнить шаг, а затем сбросить некоторую память.