Какие настройки я должен использовать с Мини-дампами?

В настоящее время мы звоним MiniDumpWriteDump с MiniDumpNormal | MiniDumpWithIndirectlyReferencedMemory флаги. Это работает просто великолепно для внутренних сборок в Настройке отладочного процесса, но не дает столько информации, сколько нам нужно в конфигурации Выпуска.

В Выпуске данные мини-дампа содержат достаточно данных стека для отладчика для разработки, где в коде отказ произошел, но никакие другие данные. Я просто не подразумеваю, что локальные переменные отсутствуют из-за того, чтобы быть оптимизированным, как Вы ожидали бы в Сборке конечных версий - я имею в виду, нет ничего полезного за исключением стека вызовов и текущей строки кода. Никакие регистры, никакие местные жители, никакой globals, никакие объекты, на которые указывают местные жители - ничто. Мы даже не получаем 'это', которое позволило бы нам просматривать текущий объект. Это было точкой использования MiniDumpWithIndirectlyReferencedMemory - это должно было включать память, на которую ссылаются местные жители и переменные стека, но не кажется.

Какие флаги мы должны использовать вместо этого? Мы не хотим использовать MiniDumpWithFullMemory и начните генерировать 600 МБ + дампы, но счастливо развернул бы дампы несколько вне 90 КБ, которые мы в настоящее время получаем, если это означало получать более полезные данные. Возможно, мы должны использовать MiniDumpWithDataSegments (globals) или...?

7
задан Ahmed Ashour 1 October 2015 в 13:35
поделиться