从大型崩溃中提取堆栈跟踪

时间:2014-11-12 01:13:36

标签: gdb kernel crash-reports coredump

我安装了一个崩溃处理程序:

/proc/sys/kernel/core_pattern

将传入的coredump管道传输到文件,然后通过gdb提取堆栈跟踪。

问题是有时这些coredumps可能非常大(通常超过30GB)。在这些情况下,用户在应用程序挂起之前将coredump写入磁盘时等待并等待。

关于如何以非阻塞方式处理这些非常大的coredump的任何建议?我并不关心coredump本身,堆栈跟踪是有价值的。

我无法访问来源,因此https://serverfault.com/questions/627747/non-blocking-core-dump-on-linux等答案并非如此。

谢谢!

1 个答案:

答案 0 :(得分:2)

  

我无法访问来源,因此https://serverfault.com/questions/627747/non-blocking-core-dump-on-linux等答案并非如此。

如果应用程序是动态关联的,您可以LD_PRELOAD google coredumper,因此答案有点实用。

另一种可能的选择是http://github.com/tbricks/tbstack

当然,为了把大部分内存丢弃而浪费30GB的RAM是浪费。