嵌入式linux除錯技術

2022-09-13 04:39:12 字數 575 閱讀 7364

android模擬器只能通過埠對映的方式使用kgdbserver除錯程式。但開發板除了可以通過ip連線到kgdbserver外還可以通過串列埠進行連線。開發板同樣也帶了kgdbserver程式,可直接執行。

大多數開發人員認為kgdb是最好的核心除錯工具。kgdb除了提供類似的printk函式的日誌輸出功能,還允許開發人員直接在pc上通過gdb鏈結目標裝置。kgdb包含了兩部分:kgdb核心和一套連線介面。這些介面目前支援串列埠tty裝置連線和乙太網連線。其中串列埠連線需要通過核心引數kgdboc指定要連線的串列埠tty裝置;乙太網連線通過核心引數kgdboc指定ip和埠號。kgdb支援多種處理器架構。由於這些處理器架構差異很大,所以kgdb單獨為每個支援的處理器架構實現了kgdb核心,如arm架構的kgdb核心源**檔案是arch/armkernel/kgdb.c。

linux核心除錯一直被很多人認為是非常困難的。大多數人寧願直接使用printk函式輸出除錯資訊,也不願意使用各種命令(gdb、gdbserver、kgdb等)進行除錯。因為這樣做並不一定能換來更多的好處。當發現某段**的bug太多或很難printk函式輸出資訊找到,可以考慮使用kgdb用step by step的方式定位bug。

嵌入式Linux除錯技術

嵌入式除錯方法 1.模擬器。比如qtopia core可以用奇趣提供的frame buffer模擬工具qvfb,arm硬體模擬可以用skyeye開源專案。2.遠端除錯。偵錯程式還在pc上,偵錯程式與被除錯的程式通過網路通訊。3.通過log和core dump等檔案事後分析。大多數開發人員認為kgdb...

嵌入式除錯技術

嵌入式除錯方法 1.模擬器。比如qtopia core可以用奇趣提供的frame buffer模擬工具qvfb,arm硬體模擬可以用skyeye開源專案。2.遠端除錯。偵錯程式還在pc上,偵錯程式與被除錯的程式通過網路通訊。3.通過log和core dump等檔案事後分析。stdprm標準印表機lp...

嵌入式Linux的除錯技術

嵌入式linux的除錯技術 對於複雜的linux驅動及程式庫,需要使用各種方法對其進行除錯。如 設定斷點 逐步跟蹤 輸出除錯資訊等。本章將主要介紹如何利用開發板 android模擬器以及一些函式 工具除錯嵌入式linux核心模組 可執行程式和共享庫。列印核心除錯資訊 printk。該函式的用法與pr...