Отладка исключения bad_alloc из веб-приложения .NET

Я конвертирую настольное приложение Visual C ++ в веб-приложение .NET. При этом я попытался сохранить внутренние библиотеки Visual C ++, которые изначально использовались в настольном приложении. Стремясь удалить глобальные переменные из этих DLL, я столкнулся с проблемой с исключением bad_alloc. Это исключение кажется случайным, и я пытаюсь определить его в коде более низкого уровня, используя множество try / catch. Я попробовал следующее, но мне не очень повезло:

1) Включены исключения C ++ из Debug-> Exceptions. (Исключение перехватывается, однако стек вызовов не помогает найти переменную, вызвавшую проблему, или даже функцию).
2) Попытка создания правила утечки памяти для процесса веб-сервера отладчика VS в DebugDiag. (утечки не было обнаружено).

Любые другие стратегии для отслеживания этого были бы чрезвычайно полезны!

0

Решение

Обычно оператор C ++ new () вызывает функцию C malloc (). Оператор new выбрасывает bad_alloc, когда malloc () возвращает 0. malloc () может вернуть 0, потому что у вас недостаточно памяти или из-за повреждения кучи.

0

Другие решения

Других решений пока нет …

По вопросам рекламы ammmcru@yandex.ru
Adblock
detector