我刚开始使用Visual Leak Detector for Visual C++ 2008/2010
当我在小应用程序上运行它时(只有几行未删除的分配)它运行正常。
现在我想将它运行到我更大的应用程序(wxWidgets app,2个主题)中,但是当我包含
时#include <vld.h>
我的应用程序无法完全启动。当Gui被创建时,它开始循环。 Somethimes应用程序完全加载,但再次,当我按下某个按钮时卡住...
当我点击暂停按钮时,要查看正在处理的代码,我只看到
是否有人遇到过类似的问题?
有没有办法让它发挥作用?
答案 0 :(得分:2)
Visual Leak Detector使应用程序运行缓慢,耐心等待。
您是否正在运行单个二进制文件?
当我的程序被拆分为主要可执行文件和运行时加载的库时,我遇到了问题。
解决方案是在所有地方都进行#include,尤其是可执行文件。
请注意,如果要定位代码的特定部分,可以使用VLDDisable和VLDEnable,请注意每个线程的这些工作。在一个线程中禁用不会修改其他线程中发生的事情。
答案 1 :(得分:0)
这不是这个具体问题的答案,但它解决了我的问题,我想将其记录在其他人可能会发现它对他们有帮助的地方。
我正在将程序与vld连接并获得
fatal error LNK1120: 1 unresolved externals
error LNK2001: unresolved external symbol "__declspec(dllimport) class VisualLeakDetector vld" (__imp_?vld@@3VVisualLeakDetector@@A)
我做了一个vld.lib的dumpbin,发现它有一个外部叫做
F26 __imp_?g_vld@@3VVisualLeakDetector@@A
注意&#34; g _&#34;
所以从
改变了我的vld.h#pragma comment(linker, "/include:__imp_?vld@@3VVisualLeakDetector@@A")
to
#pragma comment(linker, "/include:__imp_?g_vld@@3VVisualLeakDetector@@A")
然后它链接并且工作正常。
再次,希望谷歌能够为vld链接问题的人找到这个答案。