最近项目中用到了一个库,在程序崩溃时可以生成exception
文件,记录程序崩溃时的调用信息,对于定位问题比较有价值,因此整理下这个库涉及到的知识点。相关测试代码已经放到github可以下载调试。
maps
用来描述进程的虚拟地址空间是如何使用的。总共包括六列,每列及其含义如下:
名字 | 含义 |
---|---|
address | 本段在虚拟内存中的地址范围。 |
perms | 本段的权限,r-读,w-写,x-执行, p-私有,s-共享。 |
offset | 即本段映射地址在文件中的偏移。 |
dev | 主设备号与次设备号:所映射的文件所属设备的设备号。 |
inode | 文件索引节点号。 |
pathname | 映射的文件名。 对有名映射而言,是映射的文件名。 对匿名映射来说,是此段内存在进程中的作用。 [stack]表示本段内存作为栈来使用,[heap]作为堆来使用,其他情况则为无。 |
对于有名的内存区间而言