android 如何分析应用的内存(二)
前面对android应用的内存做了一个总体性的概括,那如何查看内存里面的细节呢?
本篇笔记较长,总体内容包括如下两部分:
- native部分
- 寄存器内容是什么。如pc指向何处,sp指向何处
- 指定地址内容是什么。如变量a对应的内容
- 线程堆栈内容是什么。如主线程的堆栈,UI线程的堆栈
- 堆区的对象有哪些。
- java部分
- 线程堆栈有什么内容。
- 堆中对象分配情况
所有这些,需要使用Debug工具才能查看。部分内容,还需要编程查看。
先来看工具如何使用
工具篇xdd
- 如何查看任意内存地址的内容
使用如下命令
adb shell xxd -s 0x7fe1128000 -l 4 /proc/2696/mem
## 1. xxd是android提供的一个十六进制查看工具
## 2. -s 0x7fe1128000