У тренутку критичног квара, Виндовс оперативни систем прекида и приказује плави екран смрти (БСОД). Садржај РАМ-а и све информације о насталој грешци бележе се у датотеци странице. При следећем покретању оперативног система Виндовс креира се рушење отпада са информацијама о уклањању погрешака на основу сачуваних података. Критична евиденција грешака креира се у системском дневнику догађаја.
Опрез! Избацивање депоније у случају нужде се не ствара ако диск системски систем не успе или се догоди критична грешка у почетној фази Виндовс покретања.Садржај:
- Врсте Виндовс Црасх Думпс
- Како омогућити креирање думп меморије у Виндовс-у?
- Инсталирање ВинДБГ на Виндовс
- Конфигурирање повезаности .дмп датотека с ВинДБГ
- Конфигурација сервера симбола за исправљање погрешака у ВинДБГ
- Црасх думп анализа у ВинДБГ
Врсте Виндовс Црасх Думпс
Користећи тренутни оперативни систем Виндовс 10 (Виндовс Сервер 2016) као пример, размотрите главне типове меморијских депонија које систем може да створи:
- Мини думп мемори (256 КБ) Ова врста датотеке садржи минималну количину информација. Садржи само БСОД поруку о грешци, информације о управљачким програмима, процесима који су били активни у тренутку пада и који је процес или нит кернела изазвао пад..
- Одлагање меморије кернела. По правилу, мале величине - једна трећина физичке меморије. Одлагач меморије кернела је вишеструки него мини думп. Садржи информације о управљачким програмима и програмима у режиму кернела, укључује меморију додељену Виндовс језгру и слој апстракције хардвера (ХАЛ), као и меморију додељену возачима и осталим програмима у режиму кернела..
- Комплетна деформација меморије. Највећи обим и потребна је меморија једнака РАМ-у вашег система плус 1МБ, што је неопходно за Виндовс да створи ову датотеку.
- Аутоматско избацивање меморије. Одговара депону језгре меморије у смислу информација. Разликује се само у томе колико простора користи за креирање думп датотеке. Ова врста датотеке није постојала у Виндовс-у 7. Додата је у Виндовс 8..
- Активно одлагање меморије. Ова врста филтрира ставке које не могу утврдити узрок квара на систему. Ово је додато у Виндовс 10 и посебно је корисно ако користите виртуелну машину или ако је ваш систем Хипер-В домаћин..
Како омогућити креирање думп меморије у Виндовс-у?
Помоћу програма Вин + Паусе отворите прозор са системским параметрима, изаберите „Додатни параметри система"(Напредне поставке система). На картици"Необавезно"(Напредно), одељак"Преузмите и вратите"(Покретање и опоравак) кликните"Параметри"(Подешавања). У прозору који се отвори конфигуришите радњу у случају квара система. Потврдите избор у пољу"Записати догађаје у системски дневник"(Напишите догађај у системски дневник), одаберите врсту смећа која би требало да се створи када се систем сруши. Ако је у пољу за потврду"Замените постојећу думп датотеку„(Препиши било коју постојећу датотеку) у пољу за потврду, а затим ће се датотека пребрисати сваки пут када се руши. Боље је да поништите ово поље, а затим ћете имати више информација за анализу. Онемогућите и аутоматско поновно покретање система (Аутоматски поново покрени).
У већини случајева, мали депониј меморије ће вам бити довољан да анализирате узрок БСОД-а..
Сада, када се појави БСОД, можете анализирати думп датотеку и пронаћи узрок квара. Подразумевани мини думп се спрема у мапу% системроот% \ минидумп. За анализу думп датотеке препоручујем употребу програма Виндбг (Мицрософт Кернел Дебуггер).
Инсталирање ВинДБГ на Виндовс
Корисност Виндбг укључено у „Виндовс 10 СДК"(Виндовс 10 СДК). Преузмите овде..
Датотека се зове виндксетуп.еке, величина 1.3 МБ.
ВинДБГ за Виндовс7 и старије системе укључен је у пакет „Мицрософт Виндовс СДК за Виндовс 7 и .НЕТ Фрамеворк 4“. Преузмите овде.Покрените инсталацију и одаберите шта треба учинити - инсталирајте пакет на овај рачунар или га преузмите за инсталацију на другим рачунарима. Инсталирајте пакет на локални рачунар.
Можете да инсталирате цео пакет, али да инсталирате само алат за уклањање грешака Алат за уклањање погрешака за Виндовс.
Након инсталације, ВинДБГ пречице се могу наћи у стартном менију.
Конфигурирање повезаности .дмп датотека с ВинДБГ
Да бисте отворили думп датотеке једноставним кликом, придружите .дмп екстензију са ВинДБГ услужним програмом.
- Отворите командни редак као администратор и покрените наредбе за 64-битни систем:
цд Ц: \ Програм Филес (к86) \ Виндовс Китс \ 10 \ Дебуггерс \ к64
виндбг.еке -ИА
за 32-битни систем:Ц: \ Програм Филес (к86) \ Виндовс Китс \ 10 \ Дебуггерс \ к86
виндбг.еке -ИА - Као резултат, типови датотека: .ДМП, .ХДМП, .МДМП, .КДМП, .ВЕВ - биће пресликани у ВинДБГ.
Конфигурација сервера симбола за исправљање погрешака у ВинДБГ
Симболи за уклањање погрешака (симболи за уклањање погрешака или датотеке симбола) су блокови података који се генеришу током компилације програма заједно са извршном датотеком. Такви блокови података садрже информације о именима променљивих, званим функцијама, библиотекама итд. Ови подаци нису потребни приликом покретања програма, али су корисни приликом уклањања погрешака. Мицрософтове компоненте се компилирају са знаковима дистрибуираним преко Мицрософт Симбол Сервер-а.
Конфигуришите ВинДБГ да користи Мицрософт Симбол Сервер:
- Отвори ВинДБГ;
- Идите на мени Филе -> Пут датотеке симбола;
- Запишите линију која садржи УРЛ за преузимање симбола за уклањање погрешака са Мицрософтове веб локације и фасциклу за чување кеша:
СРВ * Е: \ Сим_ВинДБГ * хттп: //мсдл.мицрософт.цом/довнлоад/симболс
У примјеру, предмеморија се учитава у мапу Е: \ Сим_ВинДБГ, можете је одредити било коју. - Не заборавите да сачувате промене у менију. Филе -> Саве ВоркСпаце;
ВинДБГ ће тражити ликове у локалној мапи и, ако у њему не нађе потребне карактере, самостално ће преузети знакове са одређеног места. Ако желите да додате своју фасциклу са симболима, онда то можете учинити на овај начин:
СРВ * Е: \ Сим_ВинДБГ * хттп: //мсдл.мицрософт.цом/довнлоад/симболс; ц: \ Симболс
Ако нема интернетске везе, прво преузмите пакет симбола из ресурса Виндовс Симбол Пацкагес..
Црасх думп анализа у ВинДБГ
Алат за уклањање грешака ВинДБГ отвара думп датотеку и преузима неопходне симболе за уклањање погрешака из локалне мапе или са Интернета. Не можете да користите ВинДБГ током овог процеса. При дну прозора (у командној линији за отклањање грешака) се појављује Дебугее није повезан.
Наредбе се уносе у наредбену линију која се налази на дну прозора.
Најважнија ствар на коју треба обратити пажњу је код грешке, који је увек наведен у хексадецималној вредности и има облик 0кКСКСКСКСКСКСКСКСКС (назначено у једној од опција - СТОП: 0к0000007Б, 02.02.2019 0008Ф, 0к8Ф). У нашем примеру код грешке 0к139.
Комплетан водич за грешке можете пронаћи овде..Алат за уклањање грешака нуди да покренете команду! Анализирајте -в, само пређите мишем преко везе и кликните. Чему служи ова команда??
- Обавља прелиминарну анализу меморијског депонија и даје детаљне информације за почетак анализе..
- Ова наредба приказује код за заустављање и симболично име грешке..
- Показује низ командних позива који су довели до пада..
- Поред тога, овде су приказане кварове ИП адресе, процеса и регистрације..
- Тим може дати готове препоруке за решавање проблема..
Главне тачке на које би требало обратити пажњу када вршите анализу након што покренете наредбу! Анализе -в (листа је непотпуна).
1: кд> !анализирати -в
******************************************************* *****************************
* * *
* Анализа грешака *
* * *
********************************************** .... *****************************
Симболично име грешке СТОП (БугЦхецк)КЕРНЕЛ_СЕЦУРИТИ_ЦХЕЦК_ФАИЛУРЕ (139)
Опис грешке (компонента кернела оштетила је критичну структуру података. Ово оштећење потенцијално може омогућити нападачу да преузме контролу над овом машином):
Кернел компонента је оштетила критичну структуру података. Корупција може потенцијално омогућити злонамерном кориснику да добије контролу над овом машином.
Аргументи за грешку су:
Аргументи:
Арг1: 0000000000000003, ЛИСТ_ЕНТРИ је оштећен (тј. Двоструко уклањање).
Арг2: ффффд0003а20д5д0, адреса оквира замке за изузетак који је изазвао грешку
Арг3: ффффд0003а20д528, Адреса записа изузетака за изузетак који је изазвао грешку
Арг4: 0000000000000000, Ресервед
Детаљи исправљања:
------------------
Бројач показује колико се пута систем срушио са сличном грешком:
ЦУСТОМЕР_ЦРАСХ_ЦОУНТ: 1
Главна категорија тренутног квара:
ДЕФАУЛТ_БУЦКЕТ_ИД: ФАИЛ_ФАСТ_ЦОРРУПТ_ЛИСТ_ЕНТРИ
СТОП код грешке у скраћеном формату:
БУГЦХЕЦК_СТР: 0к139
Процес током извођења којег је дошло до квара (није нужно узрок грешке, управо у тренутку квара у меморији је тај процес извршен):
ПРОЦЕСС_НАМЕ: склсервр.еке
ЦУРРЕНТ_ИРКЛ: 2
Дешифрирање кода грешке: У овој апликацији систем је открио прекривање међуспремника снопа, што може омогућити нападачу да добије контролу над овом апликацијом.
ЕРРОР_ЦОДЕ: (НТСТАТУС) 0кц0000409 - Систем је у овој апликацији открио прекорачење бафера заснованог на стацку. Ово прекорачење потенцијално би могло омогућити злонамерном кориснику да добије контролу над овом апликацијом.
ЕКСЦЕПТИОН_ЦОДЕ: (НТСТАТУС) 0кц0000409 - Систем је у овој апликацији открио прекорачење бафера заснованог на стацку. Ово прекорачење потенцијално би могло омогућити злонамерном кориснику да добије контролу над овом апликацијом.
Последњи позив на хрпи:
ЛАСТ_ЦОНТРОЛ_ТРАНСФЕР: од ффффф8040117д6а9 до ффффф8040116б0а0
Комплет позива у тренутку квара:
СТАЦК_ТЕКСТ:
ффффд000'3а20д2а8 ффффф804'0117д6а9: 00000000'00000139 00000000'00000003 ффффд000'3а20д5д0 ффффд000'3а20д528: нт! КеБугЦхецкЕк
ффффд000'3а20д2б0 ффффф804'0117да50: ффффе000'ф3аб9080 ффффе000'фц37е001 ффффд000'3а20д5д0 ффффф804'0116е2а2: нт! КиБугЦхецкДиспатцх + 0к69
ффффд000'3а20д3ф0 ффффф804'0117ц150: 00000000'000000000000000000000000 00000000'00000000 00000000'00000000: нт! КиФастФаилДиспатцх + 0кд0
ффффд000'3а20д5д0 ффффф804'01199482: ффффц000'701ба270 ффффц000'00000001 000000еа'73ф68040 ффффф804'000006ф9: нт! КиРаисеСецуритиЦхецкФаилуре + 0к3д0
ффффд000'3а20д760 ффффф804'014а455д: 00000000'00000001 ффффд000'3а20д941 ффффе000'фцацб000 ффффд000'3а20д951: нт! ?? :: ФНОДОБФМ :: 'стринг' + 0к17252
ффффд000'3а20д8ц0 ффффф804'013а34ац: 00000000'00000004 00000000'00000000 ффффд000'3а20д9д8 ффффе001'0а34ц600: нт! ИопСинцхроноусСервицеТаил + 0к379
ффффд000'3а20д990 ффффф804'0117д313: фффффффф'фффффффе 00000000'00000000 00000000'00000000000000еб'а0цф1380: нт! нтВритеФиле + 0к694
ффффд000'3а20да90 00007ффб'475307да: 00000000'00000000 00000000'00000000 00000000'00000000 00000000'00000000: нт! КиСистемСервицеЦопиЕнд + 0к13
000000ее'ф25ед2б8 00000000'00000000: 00000000'00000000 00000000'00000000 00000000'00000000 00000000'00000000: 0к00007ффб'475307да
Део кода у коме се догодила грешка:
ФОЛЛОВУП_ИП:
нт! КиФастФаилДиспатцх + д0
ффффф804'0117да50 ц644242000 мов бите птр [рсп + 20х], 0
ФАУЛТ_ИНСТР_ЦОДЕ: 202444ц6
СИМБОЛ_СТАЦК_ИНДЕКС: 2
СИМБОЛ_НАМЕ: нт! КиФастФаилДиспатцх + д0
ФОЛЛОВУП_НАМЕ: МацхинеОвнер
Назив модула у таблици објекта кернел. Ако је анализатор успео да открије управљачки програм проблема, име се приказује у пољима МОДУЛЕ_НАМЕ и ИМАГЕ_НАМЕ:
МОДУЛЕ_НАМЕ: нт
ИМАГЕ_НАМЕ: нткрнлмп.еке
Ако кликнете на везу модула (нт), видећете детаљне информације о путу и другим својствима модула. Пронађите специфицирану датотеку и проучите њена својства.
1: кд> лмвм нт
Прегледајте комплетну листу модула
Учитана сликовна датотека симбола: нткрнлмп.еке
Мапирана меморијска датотека: Ц: \ ПрограмДата \ дбг \ сим \ нтоскрнл.еке \ 5А9А2147787000 \ нтоскрнл.еке
Стаза слике: нткрнлмп.еке
Име слике: нткрнлмп.еке
ИнтерналНаме: нткрнлмп.еке
ОригиналФиленаме: нткрнлмп.еке
ПродуцтВерсион: 6.3.9600.18946
ФилеВерсион: 6.3.9600.18946 (винблуе_лтсб_есцров.180302-1800)
У горњем примеру, анализа је указала на нткрнлмп.еке датотеку кернел. Када анализа думп меморије укаже на системски погонитељ (на пример, вин32к.сис) или кернел датотеку (као у нашем примеру нткрнлмп.еке), највероватније ова датотека није узрок проблема. Често се испостави да проблем лежи у управљачком програму уређаја, поставкама БИОС-а или квара хардвера.
Ако сте видели да је БСОД настао због трећег управљачког програма, његово име ће бити наведено у вредностима МОДУЛЕ_НАМЕ и ИМАГЕ_НАМЕ.
На пример:
Стаза слике: \ СистемРоот \ систем32 \ дриверс \ цмудакп.сис
Име слике: цмудакп.сис
Отворите својства датотеке управљачког програма и проверите његову верзију. У већини случајева проблем са управљачким програмима решава се њиховим ажурирањем..