现在我一直在使用GDB来反汇编二进制文件并检查不同的寄存器和诸如此类的东西。是否有一个简单的命令来检查堆栈中的所有内容?这可以局限于函数中的所有内容吗?
答案 0 :(得分:81)
您可以使用 x/10x $sp
这将打印堆栈的前10个元素。
答案 1 :(得分:66)
对于当前堆栈帧:
答案 2 :(得分:42)
bt
(或backtrace
)会给你一个调用堆栈。
frame <args>
会为您提供有关堆叠中特定框架的信息。
info locals
可以为您提供有关堆栈中任何局部变量的信息。
答案 3 :(得分:0)
bt full
,您将获得所有框架和本地frame x
,进入x帧顺便说一下,您应该了解进程地址空间及其组成: linux virtual address space,这将帮助您了解框架的使用方式。