Анализ на изхвърляне на памет
Практически основи за отстраняване на грешки в приложенията на Windows
Издадена е книга (на английски):
Смятам също да го публикувам на руски.
Сертифициран съм във вътрешността на Windows
Пътят беше дълъг. Първи полет до Щатите, Редмънд за участие в подготовката на изпита. След това чакаме бета изпита. След това в Ирландия с влак от Дъблин до Корк за изпита в един от тестовите центрове. Днес получих поздравително писмо за успешното полагане на изпита и като се регистрирах на уебсайта на MCP, изградих това лого:
Връзка към изискванията за изпит:
Файлов сървър на Citrix Internet Symbol
Използвайте този път:
Подробностите са описани в следната статия:
Антология за анализ на изхвърляне на памет, том 2
Пуснат е вторият том на антологията (на английски):
Дъмпинги на памет за манекени (част 5)
В тази част ще се опитам да обясня символните файлове. Те обикновено се наричат PDB файлове, тъй като техните имена на файлове имат разширението .PDB. Старите символни файлове също могат да имат разширение .DBG. PDB файловете са необходими за правилно четене на сметищата на паметта. Без PDB файлове, изваждането на паметта е прост набор от числа, съдържанието на паметта без никаква интерпретация. PDB файловете помагат на инструменти и програми за отстраняване на грешки като WinDbg да интерпретират данните правилно и да ги конвертират в четим формат. Грубо казано, PDB файловете съдържат съответствия между числата и тяхната интерпретация, изразени в кратки редове текст:

Тъй като тези съпоставяния се променят, когато инсталираме корекция или закърпена версия на програмата на компютъра и имаме нов файл за изхвърляне на паметта, се нуждаем от нови PDB файлове, които съответстват на променените DLL компоненти или драйвери.
0: 000> .symfix
Не е дадено хранилище надолу по веригата, използвайки C: \ Program Files \ Инструменти за отстраняване на грешки за Windows \ sym
0: 000> .sympath
Пътят за търсене на символи е: SRV ** http: //msdl.microsoft.com/download/symbols
0: 000> .symfix c: \ websymbols
0: 000> .sympath
Пътят за търсене на символи е: SRV * c: \ websymbols * http: //msdl.microsoft.com/download/symbols
На бележка: Използвайте тази връзка за бързо инсталиране на дебъгера на WinDbg и напомняне за пътищата и командите за зареждане на символи:
Дъмпинги на памет за манекени (част 4)
Когато приложение (процес) се срине, то често изчезва. Когато даден процес виси, приложението все още е в RAM: можем да го видим например в диспечера на задачите, но не реагира на потребителски команди или други заявки като пинг на TCP/IP порт. IP порт). Ако имаме срив на операционната система, тогава наблюдаваме син екран на смъртта (BSOD) и/или рестартиране на системата. Когато системата увисне, всичко замръзва.
Висящите приложения или система могат лесно да бъдат обяснени, като се разглеждат взаимодействията между приложения или системни компоненти като съобщения. Един компонент изпраща съобщение до друг и чака отговор. Някои компоненти са критични, като например регистъра за конфигурация и настройки. Следващата снимка илюстрира често срещана ситуация на замразяване, когато регистърът не реагира. Тогава всяко приложение, което иска свои или системни настройки, спира да работи.