Visual Leak Detector(vld)无法显示内存泄露文件名与行号

来源:互联网 发布:fs截图软件 编辑:程序博客网 时间:2024/05/18 12:44

需要注意的是,由于该软件是个开源的工具,并不是成熟的商业产品,所以易用性并不是很好,有一些小问题,还是需要我们自己来动手解决的。以下是我遇到的问题和解决方法:


1、F5 运行程序后,提示"无法定位程序输入点 ???? 于动态链接库 dbghelp.dll 上"


   解决方法:查看[输出]窗口,看看加载的是哪个目录下的 dbghelp.dll 。
             如果发现 “???.exe”: 已加载“C:/WINDOWS/system32/dbghelp.dll” 之类的内容
             那么问题出在这里,程序自动加载了系统目录下的dbghelp.dll ,
             而没有加载 VLD 的dbghelp.dll。
             解决方法:(1)删除系统目录下的dbghelp.dll 或暂时改名。(2)或者把 VLD 安装路径下的 dbghelp.dll拷贝到你的程序的Debug文件夹里。
             总之,只要能够让程序加载VLD的dbghelp.dll就行了。考虑到一般不要动系统目录里的东西,建议采用方法(2)。
             采用方法(2)时,不要把 vld_x86.dll 拷贝到Debug目录下,如果拷了,会使程序堆栈溢出,崩溃。
         
         注:如果vld_x86.dll也不能正常加载,说明没有设置环境变量,重新安装VLD,并且在安装程序询问是否设置环境变量时,选[Yes]
             
2、检测出泄露时,无法显示泄露的位置,无法定位到CPP文件和代码行。并且有大量误报。


   例如:Call Stack:
      0x0041907C (File and line number not available): (Function name unavailable)
  
   解决方法:该问题的起因是VLD没能找到.PDB文件,导致产生误报、无法定位代码位置。要解决该问题,就要从怎么让VLD找到.PDB文件入手
        (1)确保VC工程文件所在的目录路径不含中文字符、双字节字符。(VLD对中文路径支持不了)
        (2)查看是否正常生成了.pdb文件。
        (3)如果前2条都没问题却还是显示File and line number not available,那么请确认运行目录(是运行目录不是工作目录)下是否有最新的dbghelp.dll,之前我就是使用了系统自带的dbghelp.dll导致无法显示文件和行名,所以多换几个dbghelp.dll试一下。

原创粉丝点击
热门问题 老师的惩罚 人脸识别 我在镇武司摸鱼那些年 重生之率土为王 我在大康的咸鱼生活 盘龙之生命进化 天生仙种 凡人之先天五行 春回大明朝 姑娘不必设防,我是瞎子 增肌时期晚上饿怎么办 啤酒和可乐喝了怎么办 脸部毛孔堵塞不出汗怎么办 减肥运动完饿了怎么办 想减肥晚上饿了怎么办 孕妇喝不进去水怎么办 跑步喝多了水怎么办 衣柜门轮子坏了怎么办 穿瑜伽裤下边有缝怎么办 3岁宝宝比较内向怎么办 我想和我同学搞基怎么办 自己做的葡萄酒太甜怎么办 吉米学校想退款怎么办 汽车租赁公司不退押金怎么办 身材不好怎么办健身教练形象照 反祈祷式做不到怎么办 窦性心跳过缓怎么办 四维彩超查出胎儿心脏有问题怎么办 减脂肚子饿了怎么办 做瑜伽腰扭到了怎么办 出了汗怎么办活动反思 农村都是老人和孩子怎么办 瑜伽垫容易出现痕迹怎么办 37岁失业了该怎么办 45岁找什么工作怎么办 华为手机4g网速慢怎么办 解析软件包时出现问题怎么办 一字马不能下去髋摆不正怎么办 练轮瑜伽骆驼式腰疼怎么办 感昌咳嗽老不好怎么办 我感昌一直不好怎么办 腰间盘突出晚上睡觉痛怎么办 天天吃撑了怎么办啊 一吸气就想咳嗽怎么办 鼻子堵住了怎么办没法吸气时 一只鼻子不通气怎么办 练瑜伽后特别饿怎么办 站一天小腿肿了怎么办 练腹肌腰粗了怎么办 大专不交学费.然后退学怎么办 练瑜伽压腿一字马受伤了怎么办