Уважаемые программисты! Недавно прислал мне приятель малый дамп памяти своей WinXP SP2 после синего экрана с просьбой проанализировать Загрузил я его дамп в WinDBG - да отказался окаянный файлик-то анализировать, молвив: "Интерфейс не поддерживается", да HRESULT 0x80004002 ещё к этому приплёл... Может ли кто-нибудь разъяснить мне формат крэшдампа, чтобы я попробовал разобрать файлик вручную? Заранее благодарен Файлик прикрепляю к посту
ну посмотри IoWriteCrashDump() из сорсов ядра.. если такинтересует формат. А вообще n0name прав - сигнатуры "PAGE" (заполнитель страницы) и "DUMP" (сигнатура дампа) характеризуют его начало. Все, что раньше - видимо запись из лога событий
А нет ли где-нибудь описания этого формата: где и по каким смещениям что находится? Я, разумеется, изучу IoWriteCrashDump, но, возможно, эта инфа уже есть в Сети? По крайней мере, я ничего нагуглить не смог? И ещё: сорри за оффтоп, но с чем связано такое поведение WinDbg? Попадались мне и раньше битые дампы, но чтобы WinDbg вылетал - ещё никогда..
ВОобще я сейчас этим занимаюсь и в результате дизасма ядра я наклепал некоторые структуры. Мне даже удалось сгенерировать свой крешдамп (типа full memory dump) драйвером и он рабочий) Виндбг его понимает и нормально анализирует. Так же написал прогу которая умеет анализировать все три типа дампа и вынимать оттуда инфу. Из kernel summary dump и full dump умею вынимать любые страницы. Стучи или в асю, ну или мб выложу здесь. Вообще была мысль написать аналог livekd (ради интереса) и дров которая сбрасывает крешдамп рабочей системы. .dump /f C:\x.dmp не особо катит для этого
Adrax может подойдёт для анализа? http://www.smidgeonsoft.prohosting.com/pebrowse-crash-dump-analyzer.html