用 Eclipse + GDB調試Android中C/C++程序
一、前期準備
1、編譯通過的Android源代碼(我是Android 2.3)
2、安裝了CDT的Eclipse
3、重新編譯Android gdbserver(非必須)
因手頭Android 2.3源碼編譯后的版本執行gdbserver時報錯:Segmentation fault,不得不重新編譯gdbserver。參考博文:自己編譯Android gdbserver(解決運行 gdbserver時 Segmentation fault 問題)。
二、建立Eclipse C/C++工程
這里的C/C++工程屬性可隨意選擇,目的是為了用Eclipse編輯和調試,不需要Eclipse做編譯工作。建立好工程后可以將部分Android C/C++源碼鏈接到工程中,方便查看。三、編譯并安裝將被調試的程序
這是基本工作,無須多言
2、使用帶調試符號表的C/C++程序替換原有程序
simba@simba-Vostro-3400:~/neptune/android_2.3$ adb push out/target/product/xxxx/symbols/system/bin/debug_demo /system/bin
</span>
3、在Eclipse Debug Configurations中新建C/C++ Remote Application
在Main標簽頁中設置:
C/C++ Application:
/home/simba/neptune/android_2.3/out/target/product/xxxx/symbols/system/bin/debug_demo</span>
</span>Project:
(將要調試的代碼對應工程)
Connection:
local
Remote Absolute File Path :
/system/bin/debug_demo
</span>Commands to execute before application:
/opt/android/sdks/r15/platform-tools/adb shell gdbserver :5039 /system/bin/debug_demo
/opt/android/sdks/r15/platform-tools/adb forward tcp:5039 tcp:5039
</span>注意,這里的adb路徑一定要完整路徑。選中 “Skip download to target path”</span>
在Debugger標簽頁中設置:
GDB debugger(與gdbserver對應的gdb的路徑):</span>
/home/simba/neptune/android_2.3/prebuilt/linux-x86/toolchain/arm-eabi-4.4.3/bin/arm-eabi-gdb
</span>
GDB command file:
暫時置空。
Gdbserver Settings:Gdbserver name:gdbserver</span>
Portnumber:5039
4、開始愉悅地調試吧
--
參考文章:
用Eclipse開發與調試純粹的Android C++程序,非ndk-build、ndk-gdb
來自:http://blog.csdn.net/yuleslie/article/details/7249874 本文由用戶 fmms 自行上傳分享,僅供網友學習交流。所有權歸原作者,若您的權利被侵害,請聯系管理員。
轉載本站原創文章,請注明出處,并保留原始鏈接、圖片水印。
本站是一個以用戶分享為主的開源技術平臺,歡迎各類分享!