接上文
lldb的工具篇的GUI部分。分成两部分:
接下来是as的LLDB
为了进行LLDB的调试,需要对as进行配置,事实上,每一个在AS中编辑的应用,都会有一个默认配置。
我们先从手动添加配置,开始,然后再过渡到默认配置。
分别点击 run-》edit configurations,如下图
在弹出框中,点击左上角的加号,选择Android APP,并命名如下图
因为本文章仅调试,所以并不需要在General标签页中,指定APP启动的各种选项。General中的参数说明,见下一小节。
需要说明的是,各种debug type:
Java Only:表示只对Java进行调试
Native Only:表示只对Native进行调试,As默认使用LLDB
Detect Automaticlly:自动检测,根据你使用的语言,自动选择调试工具
Dual:表示两个调试工具都使用。
接下来就是进行debug了。Android的debug有两种方式。图标如下:
图标1:as重新编译并运行,然后开始调试(因为本文章,仅仅涉及调试,所以不使用它)
图标2:as将调试器,attach到一个应用程序上
点击第二个图标,弹出选项框,选择自己配置的debug选项,这里提供的例子是:piano-lldb
然后,就会进入调试界面。
注意:部分AS试程序可能出现下面的情况
解决办法:File-》invalidate caches 然后在弹出框中,点击invalidate and restart 即可。
因为AS的调试,大家都比较熟悉,因此,直接贴一张总图
本部分仅仅对,上一小节中,提及的默认配置,做介绍性说明。
为何会有这部分说明?
因为,对于Framework 工程师而言,AS提供的功能有限,可能并不适用,所以可以使用jetbrain的相关IDE,如Intellig IDEA
和CLion。介绍AS的默认配置,可以帮组Framework工程师,理解jetbrain的配置选项。
依然按照,run-》Edit configuration,打开如下界面。
deploy的四种方式:
对于debugger标签页,见下图
方法同gdb里面介绍的一样,可参见gdb篇章,
android 如何分析应用的内存(二)
非常之不幸,Android studio提供的配置项,并没有提供对core file的支持。但是我们可以使用它的替代产品,jetbrains的Clion。它的配置,同上面介绍的几乎完全一样。因此不再过多赘述。
至此,所有关于native内存的前三部分介绍完成,如下:
native部分
java部分
与其说是native的内存,倒不如说是native的调试。但,为了内存知识的丰富性和整体性,将这部分也划入Android的内存部分。
关于Android代码如何调试,如怎样调试AOSP的原生代码,怎么分析各种各样的崩溃,或许后面会有时间单独一个专题。
接下来就是native内存部分的重点章节了。不同的分析技术,可能需要不同的代码。
即将介绍的部分有:
题外话:就个人使用情况而言,并不是很推荐AS的LLDB,更推荐使用VScode的LLDB。而使用gdb的时候,我也不推荐使用命令行,更推荐使用Clion。它有非常快速且有好的UI界面。