Debugging

如何全域啟用崩潰報告/核心轉儲/堆棧跟踪日誌記錄?

  • August 15, 2014

崩潰錯誤可能是最煩人的錯誤,導致數據失去、停機和使用者沮喪。如果應用程序崩潰更少,那就太好了。

由於機器上下文的複雜性,普通使用者通常無法在合理的時間內重現崩潰。這並不意味著該錯誤很少見 - 它可能只是意味著觸發它的事情很少發生在每個使用者中(例如 DST 更改)。除非有很多使用者報告,否則此類錯誤不太可能得到修復。如果報告更多的崩潰,那就太好了。

為了調試崩潰,開發人員需要盡可能多的明確上下文。生成的崩潰報告很好,因為它們通常詳細而準確。不能期望使用者熱心地手動觀察和報告所有上下文,因此他們經常送出稀疏和錯誤的資訊。

許多應用程序的目標受眾不是開發人員或系統管理員,而是普通大眾,無論是在家中還是在工作中。不能指望這些使用者知道如何手動收集崩潰資訊或安裝-dbg包,但這些使用者生成的報告仍然可以使用。一些應用程序有自己的崩潰報告工具,但根據我的經驗,這些工具很少起作用,當他們報告他們未能報告錯誤時,似乎沒有任何關於如何手動執行此操作的資訊(我已經觀察到這一點) Firefox 和 Flash 的最新版本)。在系統範圍內生成崩潰報告會很好。

是否有任何類型的崩潰報告生成*可以在全球範圍內啟用,而無需安裝大量-dbg軟體包、閱讀每個應用程序的文件或減慢普通機器的速度?**

  • 日誌、核心轉儲、堆棧跟踪等

** 不一定適用於init,但至少適用於在典型桌面 Linux 安裝上執行的應用程序的重要子集。根據我的經驗,GUI 應用程序崩潰的頻率是 shell 應用程序的 100 倍以上,因此 GUI 應用程序自然會成為焦點。

把這個:

ulimit -c unlimited

入檔

/etc/profile

這可能不適用於所有發行版。

另請閱讀這篇文章:

http://en.linuxreviews.org/HOWTO_enable_core-dumps

http://www.akadia.com/services/ora_enable_core.html

Ubuntu 的Appport就是為此而生的。

引用自:https://unix.stackexchange.com/questions/31187