lldb 调试器
- 随着 Android NDK 将编译工具链的重心放到 LLVM,lldb(LLVM 套件之一)成为 Android 原生程序动态调试器
- 不仅可在开发时对 Android 原生程序进行源码级调试,也可进行汇编指令级的逆向动态调试
配置 lldb 调试器
-
先下载 lldb(Android Studio -> SDK Manager)
-
下好后,位于 SDK 目录下的 lldb 目录,内有不同架构平台的调试服务端
lldb-server
。将其传入目标设备(此处为 64 位) -
Ubuntu 平台快速安装 lldb:
apt install lldb
lldb 调试器的常用命令
- 官网:LLDB
- lldb 连接 lldb-server 后,会进入以
(lldb)
显示的 Shell 环境,在其中既可通过执行 lldb 提供的所有命令驱动 lldb 调试 Android 原生程序,也可通过help
命令查看所有可用的命令。在不同的调试场景按 Tab 键,lldb 都会显示当前所有可用的命令 - 按功能区分常用命令:
- 与断点相关的命令
break
:如break s -n printf
表示在 printf() 上设断点,对应 gdb 的break printf
br s -r
:用正则表达式设断点。对应 gdb 的rbreak
breakpoint delete
:如breakpoint delete n
表示删除第 n 个断点,对应 gdb 的delete n
breakpoint disable
:如breakpoint disable n
表示禁用第 n 个断点,对应 gdb 的disable n
breakpoint enable
:如break
- 与断点相关的命令