参考android
# 使用NDK r23c,24开始就没gdb了
/Applications/AndroidNDK8568313.app/Contents/NDK/prebuilt/darwin-x86_64/bin/gdb
{
"label": "Forward_Debug_Port",
"type": "shell",
"command": "adb",
"args": [
"forward",
"tcp:5039",
"tcp:5039"
],
"presentation": {
"reveal": "never"
},
"problemMatcher": []
}- 注:osx 有问题Debugger executable '/usr/local/bin/gdb' is not signed.
{
"name": "Remote GDB",
"type": "cppdbg",
"request": "launch",
"preLaunchTask": "Build_Android",
"cwd": "${workspaceRoot}",
"program": "${workspaceRoot}/android/build_arm64-v8a/hello",
"additionalSOLibSearchPath": "${workspaceRoot}",
"miDebuggerServerAddress": "172.19.101.17:5039",
"windows": {
"miDebuggerPath": "",
"MIMode": "gdb"
},
"osx": {
"miDebuggerPath": "/Applications/AndroidNDK8568313.app/Contents/NDK/prebuilt/darwin-x86_64/bin/gdb",
"MIMode": "gdb"
}
}
# 推送gdbserver到设备
export ANROID_NDK="/Applications/AndroidNDK8568313.app/Contents/NDK"
export ANROID_NDK="/opt/ndk/android-ndk-r23b"
adb push ${ANROID_NDK}/prebuilt/android-arm64/gdbserver/gdbserver /data/local/tmp
# 使用adb命令来forward tcp端口是最常用的
adb forward tcp:5039 tcp:5039
# 启动程序
/data/local/tmp/gdbserver :5039 ./hello