推荐网站空间购买,东莞网站推广及优化,cpanel 安装wordpress,新网官方网站更多内容#xff1a;XiaoJ的知识星球 目录 一、环境准备1.1 安装llvm/NDK1.2 开启lldb-server服务1.3 lldb连接lldb-server 二、使用lldb调试Android native源码2.1 运行调试2.2 .lldbinit文件 下面介绍Android设备#xff08;Android手机为例#xff09;#xff0c;在Linu… 更多内容XiaoJ的知识星球 目录 一、环境准备1.1 安装llvm/NDK1.2 开启lldb-server服务1.3 lldb连接lldb-server 二、使用lldb调试Android native源码2.1 运行调试2.2 .lldbinit文件 下面介绍Android设备Android手机为例在Linux中远程lldb调试。
一、环境准备
1.1 安装llvm/NDK
安装工具需要包含 1.lldb 和 lldb-server。 2.clang交叉编译工具链。
请自行安装建议使用android-ndk-r26c 下载解压NDKhttps://developer.android.google.cn/ndk/downloads?hlzh-cn 指定版本NDK: https://github.com/android/ndk/wiki/Unsupported-Downloads
1.2 开启lldb-server服务
找到lldb-server例如如下目录
android-ndk-r26c/toolchains/llvm/prebuilt/linux-x86_64/lib/clang/17/lib/linux/aarch64/lldb-server
执行以下命令将其push进手机并开启。
$ adb push lldb-server /data/local/tmp/
$ adb shell
$ cd /data/local/tmp
$ chmod 755 lldb-server
# $ ./lldb-server p --server --listen unix-abstract:///data/local/tmp/debug.sock
$ ./lldb-server platform --listen *:1025 --server保持当前终端不要关闭进程会一直执行这样lldb-server就启动了。
1.3 lldb连接lldb-server
打开另一个终端执行以下命令在ubuntu上使用lldb连接lldb-server
$ lldb
(lldb) platform list # 查看lldb可以连接的平台
(lldb) platform select remote-android
(lldb) platform status # 查看平台状态
# (lldb) platform connect unix-abstract-connect:///data/local/tmp/debug.sock
(lldb) platform connect connect://:1025当出现以下输出表示连接成功。
二、使用lldb调试Android native源码
2.1 运行调试
1加载可执行文件并运行
(lldb) file path/demo.elf # 指定要调试的可执行文件
(lldb) breakpoint set -f main.cpp -l 57
(lldb) run如果你需要添加额外的模块例如动态链接库可以使用
(lldb) target module add /local/path/to/module
(lldb) target module add /local/path/to/another-module2常用命令
使用一些常用GDB命令调试即可。
2.2 .lldbinit文件
在 LLDB 中也有类似 GDB 的 .gdbinit 的文件叫.lldbinit 文件。
你可以在这个文件中设置别名、命令别名、环境变量、调试选项等。
例如
# 设置环境变量
settings set target.env-vars MY_VARvalue
# 设置别名
command alias bt backtrace
# 设置命令别名
command alias ps print stack
# 设置断点
breakpoint set -n main
# 设置只读文件系统时的挂载选项
settings set target.load-cwd-lldbinit false当你启动 LLDB 时使用 -s 参数指定一个不同的初始化文件
lldb -s /path/to/custom/lldbinit myprogram这样LLDB 会使用指定的初始化文件而不是默认的 .lldbinit 文件。 声明资源可能存在第三方来源若有侵权请联系删除