Debugging

診斷問題的最佳實踐

  • June 3, 2018

作為 Linux/Unix 使用者,我們經常遇到問題。經過長時間的問題解決,我們培養了調試技能。

現在,在嘗試調試一般的 unix 問題時,什麼是好的原則、方法或最佳實踐?

作為普通使用者,我應該擁有哪些工具來更輕鬆地找到問題的原因?

方法將取決於問題的類型。

總的來說,Eric S. Raymond 和 Rick Moen 的“如何以聰明的方式提問”有時是一個有用的建議,可以幫助您專注於問題並檢查您是否考慮了問題的重要部分。

您在調試期間的第一個資訊來源是您的系統/應用程序寫入的日誌文件。它們的共同點是您的終端或/var/log/. 許多應用程序支持不同類型的日誌級別,如果您找不到任何可用的消息,您應該增加這些級別。通常有一個-v詳細的開關來獲取更多消息。

還是沒什麼用?檢查您的配置文件、應用程序所需文件的權限,也許您必須更改系統記錄器的配置,例如/etc/syslog-ng.conf.

如果您有錯誤消息,Google搜尋通常會導致留言板條目或 usenet 文章討論其背後的問題。您很可能在那裡找到解決方案。項目使用者郵件列表、留言板和 IRC 頻道也很有幫助。

有時應用程序在沒有任何消息的情況下崩潰。除了閱讀和修改程式碼之外,發現應用程序流程的一個很好的工具是strace.

該工具將跟踪系統呼叫和信號。當應用程序擷取到錯誤時,您仍然可以在 systrace 中發現問題。

另一種方法是使用gdb. 您應該是高級使用者並且知道該怎麼做才能使用它。

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