服务器
驱动牛犊
驱动牛犊
  • 注册日期2002-07-18
  • 最后登录2004-09-17
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
阅读:1522回复:8

怎么检查Memory leak problem

楼主#
更多 发布于:2003-08-15 11:42
我的驱动总是发生不能分配non-paged pool ,但是我又不知道为什么?
还有,有时候驱动卸载的时候也会出现memory not free,但是,我又找不到那块内存我没有释放。

请各位大虾帮忙、
ysr
ysr
驱动牛犊
驱动牛犊
  • 注册日期2001-05-11
  • 最后登录2015-01-29
  • 粉丝0
  • 关注0
  • 积分79分
  • 威望48点
  • 贡献值0点
  • 好评度7点
  • 原创分0分
  • 专家分0分
沙发#
发布于:2003-08-15 13:29
可以试试DDK自带工具driver verifier
AllenZh
驱动老牛
驱动老牛
  • 注册日期2001-08-19
  • 最后登录2015-11-27
  • 粉丝19
  • 关注10
  • 积分1316分
  • 威望2387点
  • 贡献值7点
  • 好评度321点
  • 原创分0分
  • 专家分0分
板凳#
发布于:2003-08-15 13:40
什么驱动?
普通WDM的吗?如果是,你可使用动态加载,然后卸载,输出所有分配和释放内存的,看是否一致
1,承接Windows下驱动/应用开发 2,本人原创虚拟鼠标/键盘,触摸屏,虚拟显卡,Mirror驱动,XP无盘的SCSI虚拟磁盘驱动等 3,windows下有尝技术服务(包括BUG调试,员工培训等) 欢迎深圳和海外企业联系.msn:mfczmh@sina.com
服务器
驱动牛犊
驱动牛犊
  • 注册日期2002-07-18
  • 最后登录2004-09-17
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
地板#
发布于:2003-08-15 16:38
谢谢各位的建议,
1,I have used driver verifier.但是,它只能告诉我有一块内存没有释放,而我没有足够的信息找到我
是在什么地方没有释放这块内存

2。关于DLL的方法,楼上兄弟能否说清楚点,如果能给我一些列子,不胜感激

email: lizh@calcomp.com.sg

rayyang2000
管理员
管理员
  • 注册日期2001-03-23
  • 最后登录2012-09-13
  • 粉丝3
  • 关注0
  • 积分1036分
  • 威望925点
  • 贡献值3点
  • 好评度823点
  • 原创分0分
  • 专家分0分
地下室#
发布于:2003-08-16 22:58
可以重新写ExAllocatePool/ExFreePool,每次allocate的时候打印出address/count/line-in-file,free的时候也打印address,然后比较哪个少了。
这个方法比较笨,但简单一些。 :D
天天coding-debugging中----超稀饭memory dump file ======================================================== [b]Windows Device Driver Development and Consulting Service[/b] [color=blue][url]http://www.ybwork.com[/url][/color] ========================================================
AllenZh
驱动老牛
驱动老牛
  • 注册日期2001-08-19
  • 最后登录2015-11-27
  • 粉丝19
  • 关注10
  • 积分1316分
  • 威望2387点
  • 贡献值7点
  • 好评度321点
  • 原创分0分
  • 专家分0分
5楼#
发布于:2003-08-17 10:44
rayyang2000的方法的确很简单,通常我也使用这个办法来调试,还有就是在你分配的内存处写入标志,不同地方标志不一样,当driver verifier发现没有释放的内存时可使用SoftIce等工具查看标志以便确定那里的内存没有释放
1,承接Windows下驱动/应用开发 2,本人原创虚拟鼠标/键盘,触摸屏,虚拟显卡,Mirror驱动,XP无盘的SCSI虚拟磁盘驱动等 3,windows下有尝技术服务(包括BUG调试,员工培训等) 欢迎深圳和海外企业联系.msn:mfczmh@sina.com
rayyang2000
管理员
管理员
  • 注册日期2001-03-23
  • 最后登录2012-09-13
  • 粉丝3
  • 关注0
  • 积分1036分
  • 威望925点
  • 贡献值3点
  • 好评度823点
  • 原创分0分
  • 专家分0分
6楼#
发布于:2003-08-17 22:57
AllenZh说的标志是不是“Tag”?
天天coding-debugging中----超稀饭memory dump file ======================================================== [b]Windows Device Driver Development and Consulting Service[/b] [color=blue][url]http://www.ybwork.com[/url][/color] ========================================================
arthurtu
驱动巨牛
驱动巨牛
  • 注册日期2001-11-08
  • 最后登录2020-12-19
  • 粉丝0
  • 关注0
  • 积分26分
  • 威望161点
  • 贡献值0点
  • 好评度35点
  • 原创分0分
  • 专家分0分
  • 社区居民
7楼#
发布于:2003-08-17 23:16
AllenZh说的标志是不是“Tag”?

应该是的了。
多句嘴,DDK的ExAllocatePool其实是ExAllocatePoolWithTag的宏。 :D :D
codewarrior
禁止发言
禁止发言
  • 注册日期2002-05-23
  • 最后登录2018-07-12
  • 粉丝0
  • 关注0
  • 积分5391分
  • 威望52850点
  • 贡献值0点
  • 好评度22点
  • 原创分0分
  • 专家分0分
  • 社区居民
8楼#
发布于:2003-08-18 12:43
用户被禁言,该主题自动屏蔽!
游客

返回顶部