debugging - 使用带有内联函数的 gdb

标签 debugging gdb

我正在尝试使用 gdb在具有崩溃进程的核心转储的事后分析模式中。我可以获得堆栈跟踪,但没有向我显示违规函数中的实际位置,gdb向我显示有问题的函数调用的两行内联函数的行号。

内联函数在很多地方被调用;我如何找到哪个调用触发了崩溃?如何立即找到内联函数周围的代码?

最佳答案

转到有问题的堆栈帧,打印指令点(例如 p $rip),
然后使用它手动查找它,例如“addr2line -e -i 0x84564756”。

这不能扩展,但至少它有效。

关于debugging - 使用带有内联函数的 gdb,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/546475/

相关文章:

c - 桌面应用程序需要服务器端调试

java - 使用 System.out.println 输出后可以更改一行吗?

c++ - gdb如何打印STL容器

Linux:在 CentOS v7 上加载调试符号

c - VSCode 不构建和调试 pthreads 代码

gdb - memcpy 回溯没有可用的符号

Xcode 运行后 iPhone 模拟器崩溃

java - 在 Eclipse 中调试 Java 代码时出现 "Source not found"

c# - Visual Studio 2010 调试器中的上下文变量

debugging - 我可以在我的应用程序 Visual Studio 中打印本地窗口的信息吗?