Как получить аварийный дамп на Обработанное исключение? - PullRequest
0 голосов
/ 08 октября 2009

My dll используется модулем, который грязно перехватывает все исключения и просто регистрирует его в файле.

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

Я попытался сгенерировать AV в моей dll и сгенерировать файл дампа, используя adplus, но не создал дамп там, где AV создавался модулем, использующим мою dll.

Итак, мой вопрос:

Есть ли способ создать файл аварийного дампа даже для обработанного исключения?

Спасибо

Yann

Ответы [ 2 ]

2 голосов
/ 08 октября 2009

Используйте ADPlus , вы можете узнать больше о настройке ADPlus здесь (Мини-дампы для особых исключений)

Ваш конфигурационный файл будет выглядеть примерно так:

<ADPlus>
  <Settings>
    <RunMode>CRASH</RunMode>
    <Option>Quiet</Option>
  </Settings>
  <Exceptions>
    <Config>
      <Code>AllExceptions</Code>
      <Actions1>FullDump</Actions1>
    </Config>
  </Exceptions>
</ADPlus>
1 голос
/ 26 мая 2011

Для Windows Vista с пакетом обновления 1 (SP1) и более поздних версий служба отчетов об ошибках Windows может быть настроена на создание аварийных дампов при сбое приложения:

В разделе реестра:

HKEY_LOCAL_MACHINE \ SOFTWARE \ Microsoft \ Windows \ Отчеты об ошибках Windows \ LocalDumps]

Определить значения:

  • DumpFolder (REG_EXPAND_SZ) - где хранятся файлы дампа
  • DumpType (REG_DWORD) - 2 для полного дампа, 1 для мини-дампа

Это работает как для 32-битных, так и для 64-битных программ. Смотри http://msdn.microsoft.com/en-us/library/bb787181.aspx

...