繁体   English   中英

在展开堆栈之前获取回溯

[英]get the backtrace before unwinding the stack

我的进程没有在调试器上运行,而是在发生崩溃时生成一个核心文件。 更新:崩溃是由于异常而发生的。 从 throw() 开始,即使在 main() 范围内也未处理。

当我附加它并在调试器中运行它时,它确实会正确生成回溯,但在核心文件中却没有。

问题可能是操作系统在传递控制以终止之前展开堆栈,因此当终止生成 SIGABT 时,它没有关于前一个堆栈的此类信息。

我因为压力内存测试而崩溃,所以我无法在 gdb 下运行它。

该怎么办 ? 任何走动

问题可能是操作系统在传递控制以终止之前展开堆栈

Linux 操作系统没有这样的事情。

您没有提供相关详细信息,但核心转储中“坏”堆栈跟踪的两个最常见原因是:

  1. 用完ulimit -c并获得截断的核心转储,或
  2. 尝试使用与用于生成core系统库不同的系统库来分析core 如果您在不同的机器上生成和分析core ,或者如果您在两者之间升级了系统库,就会发生这种情况。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM