Как я могу проверить кадр стека с помощью GDB? - PullRequest
60 голосов
/ 05 мая 2010

Прямо сейчас я использую GDB для дизассемблирования двоичного файла и проверки различных регистров и еще много чего. Есть ли простая команда, чтобы проверить все в стеке? Может ли это быть ограничено всем в функции?

Ответы [ 3 ]

81 голосов
/ 20 декабря 2012

Вы можете просмотреть содержимое стека с помощью x/10x $sp

Это напечатает 10 лучших элементов стека.

66 голосов
/ 05 мая 2010

Для текущего фрейма стека:

  • информационный фрейм содержит общую информацию о фрейме (где все начинается в памяти и т. Д.)
  • info args перечисляет аргументы функции
  • info locals перечисляет локальные переменные, хранящиеся в кадре
42 голосов
/ 05 мая 2010
  • bt (или backtrace) даст вам стек вызовов.

  • frame <args> предоставит вам информацию о конкретном кадре из стека.

  • info locals может предоставить вам информацию о любых локальных переменных в стеке.

...