LLDB VSCode调试
第一步.拷贝lldb-server到android系统
adb push ${NDK_PATH}/toolchains/llvm/prebuilt/darwin-x86_64/lib64/clang/9.0.9/lib/linux/arm/lldb-server /data/local/tmp/lldb-server
第二步.进入到安卓设备,打开lldb-server
adb shell
cd /data/lcoal/tmp
./lldb-server p --server --listen unix-abstract:///data/local/tmp/debug.sock
第三步.安装vscode插件
安装CodeLLDB
第四步.配置launch.json文件
在configurations字段中添加
{
// 使用 IntelliSense 了解相关属性。
// 悬停以查看现有属性的描述。
// 欲了解更多信息,请访问: https://go.microsoft.com/fwlink/?linkid=830387
"version": "0.2.0",
"configurations": [
{
"name": "Remote launch",
"type": "lldb",
"request": "launch",
"MIMode": "lldb",
"stopAtEntry": false, //暂停在程序入口处
"program": "/xxxxx/build/BusinessLayer/runBusiness", //要调试的程序路径
"initCommands": [
"platform select remote-android",
"platform connect unix-abstract-connect:///data/local/tmp/debug.sock", //路径与lldbserver中指定的一致即可
"settings set target.inherit-env false",
]
}
]
}
gdb VSCode调试
(注:gdb和gdbserver要配对使用,相同工具中的gdb和gdbserver)
第一步: 拷贝ndk中的gdbserver到设备
adb push ${NDK_PATH}/prebuilt/android-arm/gdbserver /data/local/tmp
第二步: 设备上启动gdbserver
./gdbserver :2233 <program> //program为自己要运行的程序
第三步: vscode配置launch.json文件
{
"name": "remote:socol_app",
"type": "cppdbg",
"request": "launch",
// 1. program 配置可执行程序在主机上的路径 Host_exe_path
"program": "/xxxxx/build/BusinessLayer/runBusiness",
"args": [],
"stopAtEntry": false,
"cwd": "${workspaceFolder}",
"environment": [],
"externalConsole": false,
"MIMode": "gdb",
// 2. Host 上找到交叉编译工具联中的 gdb 路径
"miDebuggerPath": "/Users/xxxxx/Library/Android/sdk/android-ndk-r21e/prebuilt/darwin-x86_64/bin/gdb",
// 3. Target 的IP地址以及 gdb server监听端口,2233是举例说明,可以是尚未使用的任意值,保证Host配置和Target上统一即可
"miDebuggerServerAddress": "192.168.42.129:2233",
"setupCommands": [
{
"description": "Enable pretty-printing for gdb",
"text": "-enable-pretty-printing",
"ignoreFailures": true
}
]
}