2010-07-27 203 views
7

分析Linux上崩溃的最佳方法是什么?Linux上的崩溃分析

我们期望构建软件并向测试人员提供发布版本。测试人员可能无法记住如何重现崩溃或崩溃可能完全是间歇性的。他们的机器上也没有开发环境。该软件以C/C++编写,并编译为本地机器代码进行分发。

+0

可能的复制http://stackoverflow.com/questions/914833/linux-c-how-to-debug-release-application – DumbCoder 2010-07-27 13:12:06

回答

7

如果您在磁盘上的空间,让应用程序创建其核心转储时崩溃。

ulimit -c unlimited 

后来您可以使用GDB进行调试。

3

除了已经提到的核心堆栈和堆栈跟踪之外 - 确保您可以轻松识别您的可执行文件正在运行的版本,并且能够回答每个源文件的版本是什么版本(即花费一些时间你的源代码控制系统和你的构建脚本)。否则核心文件和堆栈跟踪都不会有帮助。

3

核心转储是有帮助的,但他们并不总是告诉你你想知道你是如何在错误状态结束了一切。

记录操作,输入和事件可以是非常有益的。如果您可以记录程序的每次运行,以便在发生崩溃时开发人员可以访问日志并重新生成错误可能会非常有帮助。

如果可能的话,你应该建立自己的程序与产生的最大调试符号,然后带他们,如果你不想或者不能让你的发行版有他们,但保留每发布版本的副本与调试符号如果您需要调试崩溃,您可以将其与核心文件耦合。