gdb安裝及使用
- 把clang添加到環(huán)境變量
export PATH="/home/ruin/Android/Sdk/ndk/23.0.7599858/toolchains/llvm/prebuilt/linux-x86_64:$PATH"
- gdb server push到手機
根據(jù)所使用的app是32位還是64位來判斷需要啟動的gdb版本是32還是64
adb push /home/ruin/Android/Sdk/ndk/23.0.7599858/prebuilt/android-arm64/gdbserver/gdbserver /data/local/tmp/gdbserver
chmod 777 /data/local/tmp/gdbserver
- 啟動app
adb shell am start -D -n packageName/MainActivityName
- 查看進(jìn)程pid
ps -e|grep packageName
- attach gdb
./gdbserver 0.0.0.0:23946 --attach 9715(第4步獲取的pid)
- 打開gdb
//啟動gdb后,端口轉(zhuǎn)發(fā)
target remote 192.168.0.183:23946
- 恢復(fù)程序運行
//cd到j(luò)db的目錄
cd ~/Desktop/android-studio/jre/bin
//必須先關(guān)閉androidstudio.因為它也在監(jiān)聽8700
./jdb -connect com.sun.jdi.SocketAttach:hostname=127.0.0.1,port=8700
- gdb client最好用gdb-multiarch
apt search gdb-multiarch