我试图在死后模式下将gdb与崩溃进程的核心转储一起使用。我可以获得堆栈跟踪,但是gdb并未向我显示出该违规函数中的实际位置,而是向我显示了该违规函数调用的两行内联函数的行号。

内联函数被称为很多地方。我如何找到哪个电话触发了崩溃?如何在内联函数附近立即找到代码?

最佳答案

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

这不会扩展,但至少可以正常工作。

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

10-11 23:14
查看更多