我发生了崩溃,应用程序是用符号编译的。当我运行 gdb 时,我只得到一个堆栈帧。
该应用程序使用共享库,并且一些共享库被剥离。 以下是我运行
bt full
时 GDB 的输出:
(gdb) bt full
#0 0x78461f68 in ?? ()
Cannot access memory at address 0x24
在这种情况下,任何人都可以帮助我如何进一步进行吗?我如何知道我的应用程序中的哪个呼叫在此地址结束?
我如何知道我的应用程序中的哪个呼叫在此地址结束。
最可能的原因是堆栈溢出/堆栈损坏。
您应该使用 Address Sanitizer(可用于最新版本的 Clang 和 GCC)来检测您的应用程序 - 它非常适合直接指出问题。