Linux 核心開發人員除錯建議¶
通用指南¶
特定子系統指南¶
通用除錯建議¶
根據問題,可以使用不同的工具集來追蹤問題,甚至首先判斷是否存在問題。
第一步,您必須弄清楚要除錯的是哪種型別的問題。根據答案,您的方法論和工具選擇可能會有所不同。
我是否需要有限許可權除錯?¶
您是否對機器的訪問許可權有限,或者無法停止正在執行的執行?
在這種情況下,您的除錯能力取決於所提供發行版核心的內建除錯支援。使用者空間除錯建議提供了針對這種情況的一系列可能除錯工具的簡要概述。在大多數情況下,您可以透過檢視 /boot 目錄中的配置檔案來檢查核心的功能。
我是否擁有系統的 root 許可權?¶
您是否可以輕鬆替換有問題的模組或安裝新核心?
在這種情況下,您可用的工具範圍要大得多,您可以在驅動開發除錯建議中找到這些工具。
時間是影響因素嗎?¶
重要的是要了解您要除錯的問題是持續出現(即給定一組輸入,您總是得到相同的不正確輸出),還是不持續出現。如果問題不持續出現,那麼一些時間因素可能在起作用。如果在程式碼中插入延遲會改變行為,那麼很可能時間是一個影響因素。
當時間確實改變程式碼執行結果時,使用簡單的printk()進行除錯可能無效,一個類似的替代方法是使用trace_printk(),它將除錯訊息記錄到跟蹤檔案而不是核心日誌。
版權所有 ©2024 : Collabora