簡體   English   中英

在沒有日志和工具的情況下進行調試?

[英]Debugging without logs and tools?

我在 git 瀏覽樹莓派源代碼,並意識到源代碼中沒有任何日志和 printf。 除了在這種情況下使用的日志記錄、調試工具(gdb、dbx)之外,還有其他調試技術嗎?

對於 kernel 級別的調試,有大量的日志記錄和掛鈎調試器(通常通過串行鏈接),特別是對於全新的代碼。 當代碼成熟並且正在准備提交給 kernel 的補丁時,通常會去除過多的日志記錄。

此外,調試或僅了解 kernel 代碼的一種非常常見的方法是使用function tracking This is similar to a debug build, GCC adds a function call to every function in the kernel, mcount() . 對於典型的 ftrace kernel 構建, mcount()將編譯為 NOP,該 NOP 將在運行時通過 ftrace 實用程序動態替換。

您可以在 此處閱讀 kernel 文檔中有關 ftrace 設計的更多信息。 您可以在此處了解有關 ftrace 提供的信息的更多信息,但可以說它非常廣泛。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM