不管是在 Android 上或是在 Linux 上,想 run-time debugging 的話,大概只能靠 GDB 或 ICE。
用 GDB 是最省錢又快速的方法,而且 Android 已經有稍微做過整合,幾乎不太需要什麼額外的設定。
要使用 GDB,首先在編譯時就必須先加入 "-g" 這個參數,例如:"gcc -g -o helloworld helloworld.c"。
但這一段,Android 其實已經先幫我們處理掉了,帶有 GDB Debugging Symbols 的 binary 檔都會在 "out/target/product/product_name/symbols/" 之下。
由於 debug 的對象並不是在 local 端,所以當然不能像在 PC 上直接使用 GDB。
一般來說,target 端(Device)必須先啟始 GDB Server,然後透過網路或 serial port 跟 host 端(PC, Laptop)的 GDB Client 做溝通。
GDB 有三種介面可以使用:
1) "gdb",terminal 下的純文字介面,想看檔案內容還要另外下 command。
2) "gdbtui" or "gdb --tui",terminal 下會顯示目前檔案內容的文字模式。
3) "ddd",圖形介面。
沒有留言:
張貼留言