【问题标题】:See all the variables and their addresses CURRENTLY in the stack (gdb command)查看堆栈中当前的所有变量及其地址(gdb 命令)
【发布时间】:2013-10-05 22:19:09
【问题描述】:

有没有办法做到这一点-不仅仅是获取 esp/rsp 中的最后一些东西,因为当我在我的程序中使用它时,我也得到了那里的变量,但现在这里没有。谢谢!

【问题讨论】:

  • 你可以,但它非常依赖于平台。
  • 如果你想要的话,这是一个骗子for Windows。如果你想要它也是一个骗子for Linux
  • 对不起,我说的是gdb命令

标签: c++ memory assembly gdb memory-address


【解决方案1】:

使用命令backtrace full(或缩写为bt full)也可以从父框架中获取所有局部变量。

【讨论】:

  • 取决于堆栈状态的含义,是的。它显示了存在于堆栈中的局部变量。假设您有程序的调试信息。为什么不试试看呢?
  • 我用过这个但没有帮助。得到这个:#0 0x0000000000400838 in ret_arr() () 没有可用的符号表信息。 #1 0x000000000040085c in main () 没有可用的符号表信息。
  • 那你没有用调试信息编译。
  • 我希望我能多次对此表示赞同。非常感谢。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2017-02-24
  • 1970-01-01
  • 2020-11-18
  • 2020-09-23
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多