Добавление файла заголовка vld.h Visual Leak Detector в исходный код для утечки памяти

Я пытаюсь использовать Visual Leak Detector в своем приложении C++ (используя Visual Studio 2013), и после прочтения документации и изменения Include Directories и Library Directories проекта я добавляю заголовок vld.h в один из моих файлов cpp. Как написано в документации, я должен добавить его после всех предварительно скомпилированных заголовков в исходном коде. Но при создании проекта после добавления заголовка в исходный код я получаю следующую ошибку:

[VLD COMPILE ERROR] #include "vld.h" should appear before #include <afxwin.h> in file stdafx.h

Добавление файла заголовка vld.h Visual Leak Detector в исходный код для утечки памяти

поэтому, когда я добавляю его в файл заголовка stdafx.h, проект строится, но я получаю сообщение об ошибке выполнения: Unhandled exception at some_memory_location (vld_x64.dll) in product_debug_build.exe. Access violation reading location some_memory_location

Добавление файла заголовка vld.h Visual Leak Detector в исходный код для утечки памяти

И когда я помещаю его перед предварительно скомпилированными заголовками в любом из моих файлов cpp, тогда сборка пропускает включение файла заголовка vld.h.

Добавление файла заголовка vld.h Visual Leak Detector в исходный код для утечки памяти

Но я не получаю это сообщение, когда создаю все решение, но тогда оно не работает (вероятно, потому, что я добавляю его перед предварительно скомпилированными заголовками?).

Что я здесь делаю не так?

Попробуйте поместить vld.h в файл заголовка StdAfx.h, как вы это сделали, а затем в исходный файл, где используются предварительно скомпилированные заголовки.

Licensed Slacker 07.05.2018 09:04

@LicensedSlacker Уже сделал это, таким образом он строится и не выдает никаких ошибок исключения во время выполнения, но не показывает никаких утечек, даже если я вручную ввожу утечки.

Abhishek 07.05.2018 09:09

Это приложение MFC?

Licensed Slacker 07.05.2018 09:16

@LicensedSlacker Да, большая часть проекта действительно использует MFC. Это огромная кодовая база. Под огромным я имею в виду кодовую базу, которая может быть у вас для базы данных, такой как Oracle.

Abhishek 07.05.2018 09:30

Провел некоторое тестирование с VS2015 и VLD 2.5.1, но я не обнаружил никаких проблем с использованием VLD. В моем vld.h прежде всего был StdAfx.h, и это было все, что требовалось. stackoverflow.com/questions/21721088/… упомянул некоторые проблемы совместимости с VC2013, но они уже должны быть решены.

Licensed Slacker 07.05.2018 10:21
Стоит ли изучать PHP в 2023-2024 годах?
Стоит ли изучать PHP в 2023-2024 годах?
Привет всем, сегодня я хочу высказать свои соображения по поводу вопроса, который я уже много раз получал в своем сообществе: "Стоит ли изучать PHP в...
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
В JavaScript одним из самых запутанных понятий является поведение ключевого слова "this" в стрелочной и обычной функциях.
Приемы CSS-макетирования - floats и Flexbox
Приемы CSS-макетирования - floats и Flexbox
Здравствуйте, друзья-студенты! Готовы совершенствовать свои навыки веб-дизайна? Сегодня в нашем путешествии мы рассмотрим приемы CSS-верстки - в...
Тестирование функциональных ngrx-эффектов в Angular 16 с помощью Jest
В системе управления состояниями ngrx, совместимой с Angular 16, появились функциональные эффекты. Это здорово и делает код определенно легче для...
Концепция локализации и ее применение в приложениях React ⚡️
Концепция локализации и ее применение в приложениях React ⚡️
Локализация - это процесс адаптации приложения к различным языкам и культурным требованиям. Это позволяет пользователям получить опыт, соответствующий...
Пользовательский скаляр GraphQL
Пользовательский скаляр GraphQL
Листовые узлы системы типов GraphQL называются скалярами. Достигнув скалярного типа, невозможно спуститься дальше по иерархии типов. Скалярный тип...
0
5
1 018
0

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