Debugging
如何全域啟用崩潰報告/核心轉儲/堆棧跟踪日誌記錄?
崩潰錯誤可能是最煩人的錯誤,導致數據失去、停機和使用者沮喪。如果應用程序崩潰更少,那就太好了。
由於機器上下文的複雜性,普通使用者通常無法在合理的時間內重現崩潰。這並不意味著該錯誤很少見 - 它可能只是意味著觸發它的事情很少發生在每個使用者中(例如 DST 更改)。除非有很多使用者報告,否則此類錯誤不太可能得到修復。如果報告更多的崩潰,那就太好了。
為了調試崩潰,開發人員需要盡可能多的明確上下文。生成的崩潰報告很好,因為它們通常詳細而準確。不能期望使用者熱心地手動觀察和報告所有上下文,因此他們經常送出稀疏和錯誤的資訊。
許多應用程序的目標受眾不是開發人員或系統管理員,而是普通大眾,無論是在家中還是在工作中。不能指望這些使用者知道如何手動收集崩潰資訊或安裝
-dbg
包,但這些使用者生成的報告仍然可以使用。一些應用程序有自己的崩潰報告工具,但根據我的經驗,這些工具很少起作用,當他們報告他們未能報告錯誤時,似乎沒有任何關於如何手動執行此操作的資訊(我已經觀察到這一點) Firefox 和 Flash 的最新版本)。在系統範圍內生成崩潰報告會很好。是否有任何類型的崩潰報告生成*可以在全球範圍內啟用,而無需安裝大量
-dbg
軟體包、閱讀每個應用程序的文件或減慢普通機器的速度?**
- 日誌、核心轉儲、堆棧跟踪等
** 不一定適用於
init
,但至少適用於在典型桌面 Linux 安裝上執行的應用程序的重要子集。根據我的經驗,GUI 應用程序崩潰的頻率是 shell 應用程序的 100 倍以上,因此 GUI 應用程序自然會成為焦點。
把這個:
ulimit -c unlimited
入檔
/etc/profile
這可能不適用於所有發行版。
另請閱讀這篇文章:
Ubuntu 的Appport就是為此而生的。