HookLogger的安装使用方法总结:
网上关于HookLogger安装设置的说明多是基于老版的。新版的已经解决老版的BUG,也没有HookEUSER.pl 这个文件了。安装和使用步骤如下:
1、下载最新的HookLogger(到官网下载)。
2、安装HookLogger,我是安装在默认路径,也就是C:/Program Files/HookLogger (这个与SDK无关,装在哪都无所谓,能记住安装路径就行)。安装完不用配置什么环境变量。
3、cmd进入命令行,先查看自己目前缺省的SDK:输入devices,回车
4、把光标转到HookLogger安装目录下:C:/Program Files/HookLogger。
5、在C:/Program Files/HookLogger后边输入命令:setuphooks+空格+缺省的SDK全路径(例:setuphooks S60_3rd_MR:com.nokia.s60),回车,出现以下内容:
6、OK,打开Carbide c++工程和HookLogger(用开始菜单来启动),先Carbide后HookLogger。
启动HookLogger的画面如下:
6、Debug下运行存有内存泄露的程序(保证为最新编译!)(注意顺序:打开工程—>打开HookLogger软件—>Debug下运行程序),操作到内存泄露的步骤后,就可以正常退出程序,模拟器上就会给出下面的错误提示:
7、内存泄露的地址已经知道,那就使用HookLogger软件查找出它的确切位置:在HookLogger的标签栏中选择“Heap”, 单击第三个按钮 (List all alloc),所有的内存指针和地址都在列表里
7、在“Ptr”找出3dd894b4的指针,双击查找到的项(或单击第四个按钮(Alloc details)),就能列出可能存在内存泄露的一系列代码:找到第一个有关你的类名及函数名的位置(如下图所示),在#后的数字就是你的内存泄露所在的位置。
在如图所示的地方,你可以看到出错的代码所在的文件和行数,然后到程序中检查代码,改正错误。
详细可以参考:
http://wiki.forum.nokia.com/index.php/Detecting_memory_leaks_with_HookLogger
大家一定要下载最新的hooklogger软件,否则安装过程中会出现很多问题,而且还解决不了,白白浪费了时间。
本章觉得对你有用,可以转载,但要注明出处。