
android
lldb工具使用
原文链接:https://ovea-y.cn/lldb_tool_manul/ 背景介绍 有时会在native程序中遇到预期外的错误,此时可以通过加log的方式一步步定位,这样逐步缩小范围,但是需要重新编译,并且无法知道当前以及之后正在执行什么指令,因此需要学会使用lldb进行native调试。由于代码一般在编译时进行了优化,去除了符号,因此需要会一些汇编指令的作用。 简单说明 关于交叉编译 首先需要说明的是,llvm本身就是支持跨平台编译的编译器,不需要使用其他的编译器(虽然它们开箱即用,但是Android目前用的是llvm,不是gcc了)。下面说明一下llvm进行交叉编译的方法。 工具链 llvm进行交叉编译的关键就是工具链,在编译的时候通过-target指定具体使用的工具链。 构建可以在手机上运行的程序: clang++ --static -g -O0 -target aarch64-linux-gnu [源文件] 关于远程调试 由于lldb不能直接在AArch64架构上使用,所以需要借助中间工具lldb-server