我怎样才能用GDB检查堆栈框架?

现在我已经使用GDB反汇编一个二进制文件,并检查出不同的寄存器和什么。 有一个简单的命令来检查堆栈上的一切吗? 这可以限制在一个function的一切?

对于当前的堆栈帧:

  • 信息框架列出了有关框架的一般信息(在内存中启动的东西等)
  • info参数列出了函数的参数
  • info locals列出存储在框架中的局部variables

您可以使用x/10x $sp查看堆栈的内容

这将打印堆栈的前10个元素。

  • bt (或backtrace )会给你一个调用堆栈。

  • frame <args>会给你关于栈中特定帧的信息。

  • info locals可以给你有关堆栈上任何局部variables的信息。