核心转储仅显示一个堆栈帧

问题描述 投票:0回答:1

我发生了崩溃,应用程序是用符号编译的。当我运行 gdb 时,我只得到一个堆栈帧。

该应用程序使用共享库,并且一些共享库被剥离。 以下是我运行

bt full
时 GDB 的输出:

(gdb) bt full
#0  0x78461f68 in ?? ()
Cannot access memory at address 0x24

在这种情况下,任何人都可以帮助我如何进一步进行吗?我如何知道我的应用程序中的哪个呼叫在此地址结束?

linux debugging crash gdb coredump
1个回答
0
投票

我如何知道我的应用程序中的哪个呼叫在此地址结束。

最可能的原因是堆栈溢出/堆栈损坏。

您应该使用 Address Sanitizer(可用于最新版本的 Clang 和 GCC)来检测您的应用程序 - 它非常适合直接指出问题。

© www.soinside.com 2019 - 2024. All rights reserved.