文章详情

  • 游戏榜单
  • 软件榜单
关闭导航
热搜榜
热门下载
热门标签
php爱好者> php文档>关于利用malloc hook的方法跟踪内存分配工具的设想

关于利用malloc hook的方法跟踪内存分配工具的设想

时间:2007-04-13  来源:loughsky

在做程序调试的时候,内存的管理占据了很大的一个部分。 主要面临以下的几个问题:   1、内存泄露,导致系统内存耗尽。   2、内存占用很大,不知道内存都用在什么位置了。   3、访问内存错误,导致SIGEVG错误,程序崩溃。   计划采用的技术:   1、通过injectso方法,注入malloc hook,对于内存的分配和回收,记录log,撰写工具,对特定的log进行分析。从而总结什么内存没有释放。同时,使用dwarf开发包,将运行的指针找出对应的代码行,方便分析。   2、通过injectso方法,注入针对特定信号的处理程序,在程序中打印出其堆栈,以方便排查错误。   3、将malloc的钩子函数,以及signal的处理程序,统一编译成动态链接库的方式,方便使用injectso。   4、针对嵌入式的特点,记录的log将主要打印在输出窗口,以提高速度,及少占用系统硬盘资源。   5、目前injectso,主要是在程序运行之后,进行attach,这样的好处在于其所依赖的so库都已经load进入内存,并且已经建立了link_map.      而我们要在一开始就要跟踪程序,所以ptrace(PTRACE_TRACEME, 0, NULL, NULL);exec(program)之后,需要通过symbol表找到main所对应的地址,然后在该地址插入断点,从而在程序运行到main的时候,获得控制权,开始注入各种方法。    
相关阅读 更多 +
排行榜 更多 +
奇境小镇MOD作弊菜单

奇境小镇MOD作弊菜单

角色扮演 下载
黑暗荒野2无限金币版

黑暗荒野2无限金币版

角色扮演 下载
骑战烈火之剑作弊菜单版

骑战烈火之剑作弊菜单版

角色扮演 下载