Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/cmake/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Visual studio 2017 Visual Studio 2017的可视泄漏检测器:无源代码行号_Visual Studio 2017_Memory Leak Detector_Visual Leak Detector - Fatal编程技术网

Visual studio 2017 Visual Studio 2017的可视泄漏检测器:无源代码行号

Visual studio 2017 Visual Studio 2017的可视泄漏检测器:无源代码行号,visual-studio-2017,memory-leak-detector,visual-leak-detector,Visual Studio 2017,Memory Leak Detector,Visual Leak Detector,我尝试将Visual泄漏检测器与Visual Studio 2017结合使用,并使用平台工具集“Visual Studio 2017” 我已经设置了include目录和library目录。正在生成调试信息。已加载exe的符号 (如果我将平台工具集更改为“Visual Studio 2013”,它将起作用) 借助工具集“Visual Studio 2017”,VLD正在检测泄漏,但无法解析线号: Visual Leak Detector read settings from: C:\Program

我尝试将Visual泄漏检测器与Visual Studio 2017结合使用,并使用平台工具集“Visual Studio 2017” 我已经设置了include目录和library目录。正在生成调试信息。已加载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:在项目属性中单击链接器-所有选项-生成调试信息,选择“生成为共享和发布而优化的调试信息(/Debug:FULL)”而不是默认的“生成用于更快链接的调试信息”.

仅将链接器设置更改为/DEBUG:FULL对我来说是不够的。使用/调试:FASTLINK正常

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

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

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


注意:根据您的IDE版本,您可能需要将“Professional”替换为“Community”。

谢谢。“生成调试信息”是不够的。将其更改为:“生成为共享和发布而优化的调试信息(/Debug:FULL)”做到了。@pill:如果可以的话,我会拥抱你的。改为/DEBUG:FULL也帮了我的忙,把我从深深的绝望中救了出来!我正在使用vs2019,但“生成调试信息(/Debug)”选项不起作用。我把它改为“生成为共享和发布而优化的调试信息(/Debug:FULL)”,现在它可以工作了。