官方的视频教程(
http://developer.symbian.com/main/tools_and_sdks/developer_tools/supported/hook_logger/intro.htt)。下面简单介绍下。
1、安装完毕后启动HookLogger的应用程序,这是可以启动模拟器,一般会有一个提示说是你的HookLogger和模拟器没有Hook上,你就直接点击确定并关闭模拟器(不要急着把HookLogger也关了)。
2、设置系统环境变量,新建一个
环境变量,名称为
epocroot,变量值为/Symbian/9.1/S60_3rd。重新启动操作系统。
3、打开Windows的命令控制台(开始菜单中单击运行,输入cmd然后就按下回车),跳转到你所安装的HookLogger的目录(如默认的
C:\Program Files\HookLogger,这里要在控制台中输入 cd C:\Program
Files\HookLogger然后回车),输入命令SetupHooks,回车;会弹出一些提示信息,接着输入
SetupHooks epocroot,
回车。
4、在HookLogger的Filters的Tab页面中,左侧的下拉菜单中选择
Include only
checked,在下面的Browse for
EXE的按钮中选中你要进行调试的那个工程的模拟器对应的exe程序,一般在C:\Symbian\9.1\s60_3rd\release
\winscw\udeb\中,而文件名一般是你的工程名。
5、设置完毕后启动模拟器,在模拟器中运行你要调试的那个程序,直到退出时爆出 Alloc
********(16位的地址),这时在
HookLogger的Heap的Tab,单击第三个按钮(List all
alloc),你会发现该页面中有一列Ptr,在这一列中找到你的那个对应的地址(Alloc中的********),然后用鼠标选中这一行,单击下面的第四个按钮(Alloc
details)这时会弹出一个对话框,找到第一个有关你的类名及函数名的位置(这里就是根源所在),在#后的数字就是你的内存泄露所在的位置。
6、跳到你的源文件中步骤4的位置,找出你的内存泄露出现在哪里,这样就可以进行下一步调试。
阅读(715) | 评论(0) | 转发(0) |