首页 > 系统相关 >Qualcmm的内存泄露调试记录

Qualcmm的内存泄露调试记录

时间:2022-08-31 12:44:16浏览次数:97  
标签:Qualcmm malloc shell setprop adb 内存 debug data 调试

dump产生指令:

adb root

adb shell setenforce 0

adb shell "chmod 0777 /data/local/tmp"

adb shell setprop libc.debug.malloc.program app_process

adb shell setprop libc.debug.malloc.options "backtrace verbose"

也可以:

For Windows PC:
$adb shell setprop libc.debug.malloc.options "\"backtrace leak_track"\"
For Ubuntu PC:
$adb shell setprop libc.debug.malloc.options "backtrace leak_track"

adb shell stop

adb shell start

#try to reproduce memory leak issue

#To dump heap by command

adb shell kill -47 <app pid>

ps:adb shell setprop libc.debug.malloc.program 这个可以设定可执行文件或者apk文件,但是后面生成dump的commond命令不同。对于可执行文件如下

使用 adb shell kill -9 <pid> 代替 adb shell stop adb shell start adb shell kill -47 <app pid>

 

kill进程之后产生的文件目录是/data/local/tmp/ 下面对应PID的txt文件

adb shell am dumpheap -n <PID_TO_DUMP> /data/local/tmp/heap.txt

分析文件使用的是高通的Python脚本,压缩包内

python development/scripts/native_heapdump_viewer.py --symbols ./symbols/ heap.txt > heap_info.txt

 

假设我们的应用程序安装到手机后libtest.so所在路径为/data/app/com.mydemo.demo/lib/arm/libtest.so,如下

那么我们就需要在./symbols/目录下建立以下层级的目录结构/data/app/com.mydemo.demo/lib/arm/并且把带符号表的libtest.so放在arm目录下。建立好之后,带符号so路径应该为./symbols/data/app/com.mydemo.demo/lib/arm/libtest.so

 

链接: https://pan.baidu.com/s/16KZlmNRqHt68BwEkRjsq_w  密码: seg7

标签:Qualcmm,malloc,shell,setprop,adb,内存,debug,data,调试
From: https://www.cnblogs.com/sukkimy/p/16642691.html

相关文章

  • 内存管理——内存调试技术
    常见内存问题内存问题有两种:内存损坏memorycorruption(crash)和内存泄漏memoryleakmemorycrash:发生在修改了未知内存后,程序访问了这部分受损的内存,可能会导致程序......
  • .Net Core调试Liunx
    场景:之前做.netcore项目,只能本机调试测试完,发布后放在liunx上。但这个时候经常会因为环境问题,配置问题等,导致程序出现莫名其妙的bug,有的日志还记录的不完善,很难找到......
  • 侯捷 内存管理 笔记pdf
    https://www.zhihu.com/people/xu-wei-duan-ke/posts    <<侯捷C++内存管理第二讲笔记(二)-知乎.pdf>>  <<侯捷C++内存管理第一讲笔记-知乎.pdf>> ......
  • 关于分布式全内存数据库RapidsDB主要应用场景?
    分布式全内存数据库RapidsDB主要应用场景包含以下四项:一是大数据平台快速数据检索、分析及计算处理的需求;二是基于磁盘存储的数据库受限于磁盘读写速度,很难满足业务系统低......
  • MATLAB中的“内存不足”?使用此技巧可轻松将内存使用量减半
    MATLAB中的“内存不足”?使用此技巧可轻松将内存使用量减半我将演示如何简单地更改数字数据的精度可以将内存使用量减少一半甚至更多Photoby拥有摄影on不飞溅H您......
  • 从汇编看C++类的内存Layout(3)
    本文主要从汇编的角度,看C++类的内存模型,即C++类的各种数据是如何分布的。1.假设有如下Cpp文件:classMemoryLayout.cppclassBase{public:Base(){}......
  • ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE) .append("Id",getId())防止内
    publicStringtoString(){returnnewToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE).append("Id",getId()).append("AdClientId",getAdClientId()).appe......
  • 内存管理
      ......
  • Xcode断点调试的值均为nil,控制台打印却有值
    <!--run--><style>.box{box-shadow:5px5px10px#000000;border-radius:10px;}</style><divclass=“box">SDK调试Xcode断点发现断点下的局部变量的值均为......
  • 如何通过free看懂内存的真实使用
    free命令是Liunx操作系统中对内存进行查看和监控的一个常用命令。我们可以直接执行free命令获取操作系统内存使用的相关数据,如下所示:[root@ufdb165~]#free......