GFlags, чтобы поймать повреждение кучи (кроме Page Heap)?

На одной производственной площадке наше приложение(*) вылетает многократно, но невоспроизводимо. Анализ дампов сбоев ясно показывает, что это куча повреждений: сбои находятся в разных местах, но всегда имеют доступ к нарушениям внутриkernel32!HeapFree/ntdll!RtlpLowFragHeapFree, Win Dbg!analyze -v также сообщает о кучи коррупции.

Пока что мы пытались запустить приложение сGFlags вариантКуча страниц, Проблема в том, что нехватка памяти в Page Heap такова, что приложение больше не будет работать (превышение предела виртуальной памяти для 32-битного процесса).

Так,мы не можем использовать Page Heap, Какой другойфлаги было бы полезно добавить так, чтобы мы либо

потерпеть крах на сайте коррупцииили, по крайней мере, может получить больше информации из аварийного дампа, который в конечном итоге будет сгенерирован, когда мы столкнемся вHeapFree?

В настоящее время мы пробуем флаги:

Включить маркировку кучиВключить проверку кучи хвоста

в надежде, что следующий аварийный дамп будет содержать больше информации о том, что пошло не так.

Я рассмотрел эти флаги, но оставил их пока:

Включить проверку параметров кучи ... Я ожидал бы довольно много затрат, когда система проверяет каждый раз, когда вызывается функция кучиВключить проверку без кучи ... не уверен, что это действительно купит мне что-нибудьВключить проверку кучи при вызове ... здесь даже доктора предупреждают о высоких накладных расходах

У меня (также) есть одна проблема: я не уверен, как эти флаги помогают при повреждении памяти. Куча страниц, очевидно, будет генерировать нарушение доступа, когда что-то записывается в защитные страницы, но как работают другие флаги?

Нужно ли запускать приложение с Application Verifier для этих других флагов, чтобы помочь? Или возникнет исключение, когда проверочный код обнаружит что-то?

Какая комбинация этих флагов наиболее целесообразна, чтобы приложение все еще могло работать с нормальной производительностью и потреблением памяти на производстве?

(*): Это 32-разрядное настольное приложение Windows для промышленной автоматизации. В этом случае работает на Win7 64bit (что прекрасно работает на многих других сайтах).

Ответы на вопрос(2)

Ваш ответ на вопрос