【发布时间】:2020-12-08 05:31:37
【问题描述】:
我想知道是否有办法捕获所有段故障/核心转储并打印其调用堆栈?捕捉所有信号看起来是一种可行的方式,但我不太确定它是如何工作的,根据我的一些经验,它并不总是给出我想要的结果,有时它只是未能捕捉到核心转储,也许我做到了出了点问题。
我问这个的原因是我通常调试一个非常复杂的系统,很多segmentfault错误很难重现,用gdb逐行运行是不切实际的。所以如果我能捕捉到所有的段错误并打印一些调用堆栈或其他信息,那对我调试很有帮助。
【问题讨论】:
-
应该有一种方法可以让您的 Linux 系统在进程出现段错误时生成核心转储。然后,您可以将调试器附加到可执行文件和核心转储并查看堆栈跟踪。
标签: c++ c linux segmentation-fault signals