WinDbg подавляет диалоговое окно ошибки

Я использую WinDbg для анализа отчетов о сбоях в некоторых приложениях Windows. Я разбираю их с помощью пакетного скрипта. Он отлично работает. Отчет о сбое анализируется WinDBG, и процесс завершается.

But there are some corrupted crash reports that cause WinDbg to show error dialog "failure when opening crash dump". That cause WinDBG to continue working and therefore batch script freezes. And I want to avoid this. I have used flags [-Q | -QY] [-QS | -QSY]. They do not suppress my error message. Can I parse my crash report in another way to avoid this problem?


person Yuriy Pryyma    schedule 14.05.2016    source источник
comment
Общий ответ: Если аварийный дамп поврежден, то WinDbg не сможет его открыть. Не существует волшебного переключателя командной строки для исправления файла мусора. Вам придется решить, почему файл поврежден (и да, я знаю, что это сложно). Однако здесь недостаточно информации, чтобы сделать больше, чем предположить о вашей конкретной проблеме.   -  person Ryan Bemrose    schedule 14.05.2016


Ответы (1)


Как сказал Райан Бемроуз, вам будет трудно получить что-либо полезное из поврежденного файла дампа. И, если вам удастся открыть его, вы всегда будете задаваться вопросом, является ли то, на что вы смотрите, частью ошибки, вызвавшей дамп, или артефактом поврежденного дампа.

Тем не менее, если вы просто пытаетесь уберечь свой автоматизированный скрипт от неверных входных данных, есть инструмент, который может помочь. DumpChk.exe занимает файл дампа в качестве входных данных и сообщает вам, поврежден ли он. Вы можете написать сценарий, проверив errorlevel после вызова.

Скрипт будет выглядеть примерно так:

dumpchk "%1"
if not errorlevel 1 (
   windbg -z "%1" -c "your analysis script"
) else (
    echo "Bad dump file: %1"
)

(Где %1 — это файл дампа.)

Кроме того, вы можете взглянуть на cdb вместо WinDbg. Он использует тот же бэкэнд, что и WinDbg, но немного удобнее запуска в командной строке.

person Sean Cline    schedule 14.05.2016