手机上的没有perfdumpp如何打开和使用,我想查看游戏帧率

Pmap可以查看堆地址信息(程序中new/malloc出來的空间)然后gdb调试查看堆较大的内存块数据信息。(本次测试只是使用了这个功能是否还有其他牛逼的功能不知道)

  1. 编译生成文件後执行,输出信息如下
    1. 进入程序之后执行c然后ctrl +C回到命令输入状态

发现其他创建的19个堆地址并不是连续的,所有通过地址+1000并不能找到下一個用户创建的堆地址相反执行-1000的话直接报错(不知为何),0x7fdfc0f37010地址和日志最后一行打印的地址也是对应的

同样在偏移16字节出有用户创建嘚内存空间,和日志打印对比也是对应的

通过以上方式可以处理部分内存泄露的问题,关键主要有两点1、能通过pmap找到内存卡地址,这裏由于很明显程序创建了一个20个20k大小的空间未释放然后pmap输出了一个大小差不多400k的快地址,那么很容易对应到泄露源地址2、找到地址之後,能通过地址的数据内容对应到代码中的数据结构这里因为程序中将buffer初始化了“xiagaodaqiqiu”这个字符串也是很容易就找到了

}

Pmap可以查看堆地址信息(程序中new/malloc出來的空间)然后gdb调试查看堆较大的内存块数据信息。(本次测试只是使用了这个功能是否还有其他牛逼的功能不知道)

  1. 编译生成文件後执行,输出信息如下
    1. 进入程序之后执行c然后ctrl +C回到命令输入状态

发现其他创建的19个堆地址并不是连续的,所有通过地址+1000并不能找到下一個用户创建的堆地址相反执行-1000的话直接报错(不知为何),0x7fdfc0f37010地址和日志最后一行打印的地址也是对应的

同样在偏移16字节出有用户创建嘚内存空间,和日志打印对比也是对应的

通过以上方式可以处理部分内存泄露的问题,关键主要有两点1、能通过pmap找到内存卡地址,这裏由于很明显程序创建了一个20个20k大小的空间未释放然后pmap输出了一个大小差不多400k的快地址,那么很容易对应到泄露源地址2、找到地址之後,能通过地址的数据内容对应到代码中的数据结构这里因为程序中将buffer初始化了“xiagaodaqiqiu”这个字符串也是很容易就找到了

}

我要回帖

更多关于 perfdump 的文章

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信