使用带有内联函数的 gdb

Jos*_*ley 5 debugging gdb

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

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

小智 6

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

这无法扩展,但至少它有效。