【问题标题】:Visual Leak Detector with Visual Studio 2017: no source code line numbers带有 Visual Studio 2017 的 Visual Leak Detector:没有源代码行号
【发布时间】:2017-11-26 05:58:27
【问题描述】:

我尝试将 Visual Leak Detector 与 Visual Studio 2017 与平台工具集“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

也许有人知道启用行号解析的方法。

谢谢

【问题讨论】:

  • 我使用的是 vs2019,但是“生成调试信息 (/DEBUG)”选项不起作用。我将其更改为“生成针对共享和发布优化的调试信息 (/DEBUG:FULL)”,现在它可以正常工作了。

标签: visual-studio-2017 memory-leak-detector visual-leak-detector


【解决方案1】:

尝试禁用部分 PDB:在项目属性中点击链接器 - 所有选项 - 生成调试信息,选择“生成为共享和发布优化的调试信息 (/DEBUG:FULL)”而不是默认的“生成调试信息以获得更快的链接” ”。

【讨论】:

  • 谢谢。 “生成调试信息”是不够的。将其更改为:“生成为共享和发布优化的调试信息 (/DEBUG:FULL)”。
  • @pulp:如果可以,我会拥抱你。只需更改为 /DEBUG:FULL 也对我有用,让我免于绝望!
【解决方案2】:

仅将链接器设置更改为 /DEBUG:FULL 对我来说还不够。使用 /DEBUG:FASTLINK 没问题。

但是,我必须使用来自 Visual Studio 本身的匹配的最新 dbghelp.dll 而不是 VLD 附带的(我使用的是 VLD 版本2.5.1 在 x86 模式下)。

有几个具有该名称的 DLL。我把这个复制到我项目的运行时文件夹中(替换我最初从 VLD 安装复制到那里的那个)。

X:\Program Files (x86)\Microsoft Visual Studio\2017\Professional\Common7\IDE\Extensions\TestPlatform\Extensions\Cpp

注意:您可能需要将“Professional”替换为“Community”,具体取决于您拥有的 IDE 版本。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2020-02-14
    • 2017-11-09
    • 2014-03-10
    • 1970-01-01
    • 1970-01-01
    • 2011-09-29
    • 1970-01-01
    • 2018-06-04
    相关资源
    最近更新 更多