是否可以使用 GDB 查看未命名的框架/函数参数?
Posted
技术标签:
【中文标题】是否可以使用 GDB 查看未命名的框架/函数参数?【英文标题】:Is it possible to view unnamed frame / function argument with GDB? 【发布时间】:2016-07-04 06:49:43 【问题描述】:当我有一个核心转储(在段错误之后)并且我感兴趣的框架看起来像这样时:
#2 0x000000000043cbfa in foo::Bar::baz(float) ()
如何使用 GDB 提取给定框架中的参数值?
【问题讨论】:
您可以尝试手动检查堆栈帧(信息帧、信息注册、x/离开记忆。在框架中列出参数的命令序列是
frame 2
info args
【讨论】:
最后是 “没有可用的符号表信息。” 你有那个代码的调试符号吗?你能得到这样的版本吗?如果可以的话,你可以使用“symbol-file”命令来加载符号,如果功能没有经过大量优化,它应该可以工作。 我想这就是问题的症结所在:如何在没有分配符号的情况下获取值? 可能是disassemble
、info registers
和x
的组合? (当然还要了解实际代码)
没有符号表,这些命令将无法工作,正如其他人所说。您需要深入了解程序集以获取所需的信息。以上是关于是否可以使用 GDB 查看未命名的框架/函数参数?的主要内容,如果未能解决你的问题,请参考以下文章