Как найти повреждение кучи в моей DLL с Application Verifier? - PullRequest
0 голосов
/ 27 февраля 2019

Я разрабатываю C ++ DLL с Visual Studio 2017, и у меня есть некоторые проблемы с памятью.Я хотел бы использовать Application Verifier для его отладки, но приложение, которое запускает мою DLL (стороннее приложение), также повреждено в куче.Поэтому, если я активирую Application Verifier, приложение завершает работу до загрузки моей DLL.

Можно ли сказать Application Verifier, чтобы она заботилась только о повреждении кучи DLL или модуля?Если нет, есть ли способ отладки моей DLL с помощью другого инструмента?

Ответы [ 2 ]

0 голосов
/ 19 марта 2019

Почему бы не написать простое приложение-оболочку?Я должен был сделать это для сторонней библиотеки DLL, которая вызывала повреждения кучи, которые впоследствии приводили к сбою нашего приложения.В этом случае это было в деструкторе, поэтому мне нужно было только загрузить и освободить его.Но если это не помогло вам, вы можете добавить модульные тесты для каждого экспорта.

0 голосов
/ 27 февраля 2019

Насколько я знаю, верификатор приложений использует глобальные флаги Windows для обнаружения утечек и повреждения кучи, как это.Таким образом, вы можете напрямую использовать инструмент gflags, чтобы включить эту функцию.

Пожалуйста, проверьте следующее обсуждение от Microsoft Как использовать gflags для поиска повреждений кучи .

...