ALL,
根据MSVC,我正在编写一个显然存在内存泄漏的应用程序。此应用程序包含二进制可执行文件和一对DLL。应用程序和DLL都使用“动态链接”。
我还有一个书面应用程序,它只包含一个静态链接的二进制文件。
我尝试将VLD应用于两者。
使用第二个应用程序没有问题。它可以启动并正在执行。
第一个应用程序 - 我甚至无法启动它。它总是在启动时崩溃。
我将VLD添加到mai可执行文件和我正在生成的所有DLL中。
所以我想知道崩溃可能是什么问题 - 无论是多个DLL还是我正在使用“动态链接”的事实。
我也想知道是否获取VLD的源代码并尝试与项目一起编译将有所帮助,我最终将能够运行应用程序并查看泄漏。
感谢您提供任何解决崩溃的指示。
EDIT1:
以下是崩溃的回溯:
NTDLL.DLL!77c40e92()
[下面的框架可能不正确和/或缺失,没有为ntdll.dll加载符号] vld_x86.dll!04f9abf0()
vld_x86.dll!04fae9df()
vld_x86.dll!04faeb4d()
KernelBase.dll!75a241e6()
user32.dll中!75f57433()
user32.dll中!75f55ab6()
user32.dll中!75f558c4()
ntdll.dll中!77c496de()
ntdll.dll中!77c49658()
ntdll.dll中!77c57825()
ntdll.dll中!77c5b530()
ntdll.dll中!77c6751f()
vld_x86.dll!04faf9b6()
vld_x86.dll!04fadd99()
MSVCRT.DLL!75c9b0f9()
KernelBase.dll!75a24093()
vld_x86.dll!04faf9b6()
vld_x86.dll!04faf9b6()
vld_x86.dll!04fade47()
答案 0 :(得分:1)
ALL,
我安装了最新版本的VLD(2.5.1),将2个dll和pdb复制到可执行目录,程序能够在不崩溃的情况下启动。
我在读取VLD输出时遇到了一些问题,但我可能会为它创建一个新线程。
感谢您的阅读,并为噪音感到抱歉。