Visual Studio 2017 的视觉检漏器:无源代码行号
Visual Leak Detector with Visual Studio 2017: no source code line numbers
我尝试将 Visual Leak Detector 与 Visual Studio 2017 和 Platform Toolset "Visual Studio 2017" 一起使用
我已经设置了包含目录和库目录。正在生成调试信息。已加载 exe 的符号。
(如果我将平台工具集更改为 "Visual Studio 2013",它会起作用)
使用工具集 "Visual Studio 2017" VLD 正在检测泄漏但不解析行号:
Visual Leak Detector read settings from: C:\Program Files (x86)\Visual Leak Detector\vld.ini
Visual Leak Detector Version 2.5.1 installed.
WARNING: Visual Leak Detector detected memory leaks!
---------- Block 1 at 0x005ECDB8: 400 bytes ----------
Leak Hash: 0x36672640, Count: 1, Total 400 bytes
Call Stack (TID 6284):
ucrtbased.dll!malloc()
ConsoleApplication6.exe!0x00361FAD()
ConsoleApplication6.exe!0x003618BC()
ConsoleApplication6.exe!0x00361828()
ConsoleApplication6.exe!0x00361883()
ConsoleApplication6.exe!0x00361F7E()
ConsoleApplication6.exe!0x00361DE0()
ConsoleApplication6.exe!0x00361C7D()
ConsoleApplication6.exe!0x00361F98()
kernel32.dll!BaseThreadInitThunk() + 0x12 bytes
ntdll.dll!RtlInitializeExceptionChain() + 0x63 bytes
ntdll.dll!RtlInitializeExceptionChain() + 0x36 bytes
也许有人知道启用行号解析的方法。
谢谢
尝试禁用部分 PDB:在项目属性中单击链接器 - 所有选项 - 生成调试信息,select "Generate Debug Information optimized for sharing and publishing (/DEBUG:FULL)" 而不是默认值 "Generate Debug Information for faster links"。
仅将链接器设置更改为 /DEBUG:FULL 对我来说还不够。使用 /DEBUG:FASTLINK 可以。
但是,我不得不使用来自 Visual Studio 本身的匹配的最新 dbghelp.dll而不是 VLD 附带的版本(我在 x86 模式下使用 VLD 2.5.1 版)。
有几个 DLL 同名。我把这个复制到我的项目的运行时文件夹中(替换我最初从 VLD 安装复制到那里的那个)。
X:\Program Files (x86)\Microsoft Visual Studio17\Professional\Common7\IDE\Extensions\TestPlatform\Extensions\Cpp
注意:您可能需要将 "Professional" 替换为 "Community",具体取决于您拥有的 IDE 版本。
我尝试将 Visual Leak Detector 与 Visual Studio 2017 和 Platform Toolset "Visual Studio 2017" 一起使用 我已经设置了包含目录和库目录。正在生成调试信息。已加载 exe 的符号。
(如果我将平台工具集更改为 "Visual Studio 2013",它会起作用)
使用工具集 "Visual Studio 2017" VLD 正在检测泄漏但不解析行号:
Visual Leak Detector read settings from: C:\Program Files (x86)\Visual Leak Detector\vld.ini
Visual Leak Detector Version 2.5.1 installed.
WARNING: Visual Leak Detector detected memory leaks!
---------- Block 1 at 0x005ECDB8: 400 bytes ----------
Leak Hash: 0x36672640, Count: 1, Total 400 bytes
Call Stack (TID 6284):
ucrtbased.dll!malloc()
ConsoleApplication6.exe!0x00361FAD()
ConsoleApplication6.exe!0x003618BC()
ConsoleApplication6.exe!0x00361828()
ConsoleApplication6.exe!0x00361883()
ConsoleApplication6.exe!0x00361F7E()
ConsoleApplication6.exe!0x00361DE0()
ConsoleApplication6.exe!0x00361C7D()
ConsoleApplication6.exe!0x00361F98()
kernel32.dll!BaseThreadInitThunk() + 0x12 bytes
ntdll.dll!RtlInitializeExceptionChain() + 0x63 bytes
ntdll.dll!RtlInitializeExceptionChain() + 0x36 bytes
也许有人知道启用行号解析的方法。
谢谢
尝试禁用部分 PDB:在项目属性中单击链接器 - 所有选项 - 生成调试信息,select "Generate Debug Information optimized for sharing and publishing (/DEBUG:FULL)" 而不是默认值 "Generate Debug Information for faster links"。
仅将链接器设置更改为 /DEBUG:FULL 对我来说还不够。使用 /DEBUG:FASTLINK 可以。
但是,我不得不使用来自 Visual Studio 本身的匹配的最新 dbghelp.dll而不是 VLD 附带的版本(我在 x86 模式下使用 VLD 2.5.1 版)。
有几个 DLL 同名。我把这个复制到我的项目的运行时文件夹中(替换我最初从 VLD 安装复制到那里的那个)。
X:\Program Files (x86)\Microsoft Visual Studio17\Professional\Common7\IDE\Extensions\TestPlatform\Extensions\Cpp
注意:您可能需要将 "Professional" 替换为 "Community",具体取决于您拥有的 IDE 版本。