Visual Leak Detector с Visual Studio 2017: нет номеров строк исходного кода

Я пытаюсь использовать 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

Может быть, кто-нибудь знает способ включить разрешение номера строки.

Спасибо

1 ответ

Решение

Попробуйте отключить частичную PDB: в свойствах проекта нажмите Linker - All Options - Generate Debug Info, выберите "Generate Debug Information" вместо "Generate Debug Information" по умолчанию "Generate Debug Information для более быстрых ссылок".

Просто изменить настройки компоновщика на /DEBUG:FULL было недостаточно для меня. Использование /DEBUG:FASTLINK в порядке.

Однако мне пришлось использовать соответствующий обновленный dbghelp.dll из самой Visual Studio вместо того, который идет с VLD (я использую VLD версии 2.5.1 в режиме x86).

Есть несколько DLL с таким именем. Я взял этот файл и скопировал его в папку времени выполнения моего проекта (заменив тот, который я изначально скопировал из установки VLD).

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

Примечание. Возможно, вам придется заменить "Профессионал" на "Сообщество" в зависимости от имеющейся у вас версии IDE.

Другие вопросы по тегам