Снимање информации за дебагирање за Windows 10, што да се инсталира. Како да користите складиште за меморија за да го одредите двигателот што го предизвикува BSOD. Поставување сервер со симболи за дебагирање во WinDBG

Здраво пријатели, денес ќе разговараме за една интересна тема која ќе ви помогне во иднина кога син екрансмрт (BSoD).

Како мене, и многу други корисници мораа да го набљудуваат изгледот на екранот со сина позадина на кој нешто пишуваше (бело на сино). Овој феномен укажува на критичен проблем, како во софтвер, на пример, конфликт на двигател или физичка неисправност на некоја компјутерска компонента.

Неодамна повторно добив проблем со синиот екран во Windows 10, но брзо се ослободив од него и наскоро ќе ви кажам за тоа.

Значи, повеќето корисници не се свесни дека BSoD може да се анализира за подоцна да ги разберат прашањата за критичните грешки. За такви случаи, Windows создава специјални датотеки на дискот и ние ќе ги анализираме.

Постојат три типа на складирање меморија:

Депонија за целосна меморија– оваа функција ви овозможува целосно да ја зачувате содржината меморија за случаен пристап. Ретко се користи, затоа што замислете дека имате 32 GB RAM, со целосна депонија, целиот овој волумен ќе биде зачуван на дискот.

Јадрото депонија– зачувува информации за режимот на јадрото.

Мала депонија за меморија– зачувува мала количина на информации за грешки и вчитани компоненти кои биле присутни во моментот кога се случил дефектот на системот. Ќе користиме ваков тип на депонија бидејќи ќе ни даде доволно информации за BSoD.

Локацијата и на малата и на целосната депонија е различна, на пример, малата депонија се наоѓа на следната патека: %systemroot%\minidump.

Целосната депонија е тука: %systemroot%.

За да се анализираат мемориските депонии, постојат различни програми, но ќе користиме два. Првиот е Microsoft Kernel Debuggers, како што сугерира името, алатка од Microsoft. Можете да го преземете од официјалната веб-страница. Втората програма е BlueScreenView, бесплатна програма, преземете ја од овде.

Анализирање на складиште на меморија со помош на дебагери на кернелот на Microsoft

За различни верзии на системи треба да преземете различен тип на алатка. На пример, за 64-битни операционен систем, потребна ви е 64-битна програма, за 32-битна програма - 32-битна верзија.

Тоа не е сè, треба да го преземете и инсталирате пакетот симболи за дебагирање потребни за програмата. Се вика Симболи за дебагирање. Секоја верзија на овој пакет исто така се презема под одреден ОС, прво дознајте кој систем го имате, а потоа преземете. За да не мора никаде да ги барате овие симболи, тука е врската за преземање. Пожелно е инсталацијата да се направи на оваа патека: %systemroot%\symbols.

Сега можете да го стартувате нашиот дебагер, чиј прозорец ќе изгледа вака:

Пред да ги анализираме депонии, ќе конфигурираме нешто во алатката. Прво, треба да и кажеме на програмата каде сме ги инсталирале симболите за дебагирање. За да го направите ова, кликнете на копчето „Датотека“ и изберете ја ставката „Патека на датотеката со симболи“, а потоа означете ја патеката до симболите.


Програмата ви овозможува да извлечете симболи директно од веб, за да не мора ни да ги преземате (извинете за оние кои веќе ги преземале). Тие ќе бидат преземени од сервер на Microsoft, така што сè е безбедно. Значи, треба повторно да ја отворите „Датотека“, потоа „Патека на датотеката со симболи“ и да ја внесете следнава команда:

SRV*%systemroot%\symbols*http://msdl.microsoft.com/download/symbols


Така, ѝ укажавме на програмата дека симболите треба да се преземат од мрежата. Откако ќе го направиме ова, кликнете на „Датотека“ и изберете „Зачувај работен простор“, потоа кликнете OK.

Тоа е се. Ја конфигуриравме програмата на вистински начин, сега почнуваме да ги анализираме депонијата на меморијата. Во програмата, притиснете го копчето "Датотека", Потоа „Отворена депонија“и изберете ја саканата датотека.

Дебагерите на кернелот ќе почнат да ја анализираат датотеката и потоа да излезат резултат за причината за грешката.


Во прозорецот што се појавува, можете да внесете команди. Ако влеземе !анализирај –v, тогаш ќе добиеме повеќе информации.

Тоа е сè со оваа програма. За да го запрете дебагерот, изберете „Debug“ и ставката „Stop Debugging“.

Анализирање на меморијата со помош на BlueScreenView

Програмата BlueScreenView е исто така погодна за анализа на разни грешки и BSoD, има едноставен интерфејс, така што не треба да има проблеми со совладување.

Преземете ја програмата од врската погоре и инсталирајте ја. Откако ќе ја стартувате алатката, треба да ја конфигурирате. Одете до параметрите: „Поставки“ – „ Дополнителни опции" Ќе се отвори мал прозорец со неколку ставки. Во првиот пасус, треба да ја наведете локацијата на депонии за меморија. Тие обично се наоѓаат на патеката C:\WINDOWS\Minidump. Потоа само кликнете на копчето „Стандардно“.


Што можете да видите во програмата? Имаме ставки од менито, дел од прозорецот со имињата на депонираните датотеки и вториот дел од прозорецот - содржината на мемориските депонии.


Како што реков на почетокот на статијата, депонии може да ги складираат драјверите, скриншот од самиот „екран на смртта“ и други корисни информации што може да ни бидат корисни.

Значи, во првиот дел од прозорецот, каде што се депонираните датотеки, изберете ја меморијата што ни треба. Во следниот дел од прозорецот ја разгледуваме содржината. Возачите лоцирани во меморискиот куп се означени со црвеникава боја. Токму тие се причина за синиот екран на смртта.

На Интернет можете да најдете сè за кодот за грешка и драјверот што може да се виновни за BSoD. За да го направите ова, кликнете на „Датотека“, а потоа „Најдете код за грешка + драјвер во Google“.


Може да ги прикажете само драјверите што биле присутни во моментот кога се појавила грешката. За да го направите ова, кликнете на „Поставки“ - „Режим на долен прозорец“ - „Само драјвери се пронајдени во купот за падови“. Или притиснете го копчето F7.

За да ја прикажете сликата од екранот на BSoD, притиснете F8.

За да ги прикажете сите драјвери и датотеки, притиснете F6.

Па, тоа е се. Сега знаете како да дознаете за проблемот со Синиот екран на смртта и ако нешто се случи, најдете решение на Интернет или на оваа страница. Можете да ги понудите вашите кодови за грешка, а јас ќе се обидам да пишувам за секоја статија за да го решам проблемот.

Исто така, не заборавајте да поставувате прашања во коментарите.

Ќе продолжам да зборувам за синиот екран на смртта, во кој почнав.

Значи, ако компјутерот одеднаш се рестартира или замрзне, а синиот екран на смртта не се појави или се појави дел од секундата, тогаш информациите за причините за неуспехот сè уште може да се вратат.

Факт е дека оперативниот систем во моментот на неуспех ја зачувува содржината на RAM меморијата во т.н депонија(има продолжеток .dmp). Во иднина, датотеката за депонија може да се анализира и да ги добие истите информации како на синиот екран, па дури и малку повеќе.

Но, создавањето на депонии може да се оневозможи во системот, па затоа треба да бидете сигурни дека, прво, системот создава депонии кога ќе се сруши, и, второ, треба да ја знаете локацијата на дискот каде што се зачувани.

За да го направите ова, треба да отидете во делот Систем.

Во Windows 10 тоа може да се направи преку пребарување и во претходните верзииоперативен систем преку контролен панел.

Овде, снимањето настани во системскиот дневник треба да биде овозможено, но за да спречите компјутерот автоматски да се рестартира и да ни ја покаже содржината на синиот екран на смртта, треба да го откажете автоматското рестартирање доколку е овозможено.

Овде се прикажува и патеката до депонии - гледаме дека депонијата е зачувана во папката %SystemRoot% - ова е ознаката на папката Windows.

Овде можете да изберете и „small memory dump“, што ќе биде сосема доволно за пребарување на кодови за грешки.

Така, системот падна во синиот екран на смртта, по што беше создаден мемориски депонија.

За анализа на депонија постојат специјални програмиа една од најпопуларните е алатката BlueScreenView.

Програмата е многу лесна за употреба и не бара инсталација - преземете ја од официјалната веб-страница и отпакувајте ја. Во исто време, од официјалната веб-страница можете да преземете датотека со која можете да ја русифицирате програмата. За ова оваа датотекаќе треба да го ставите во папката со отпакуваната програма.

Ако, по стартувањето на програмата, депонии не се прикажат, иако системот падна во синиот екран на смртта, тогаш треба да отидете до поставките на програмата и да бидете сигурни дека патеката до фрлањата на меморијата е правилно наведена, т.е. треба да биде ист како во системските поставки.

По ова, треба да ги ажурирате информациите во прозорецот на програмата и ќе се прикажат сите депонии создадени во системот. Ако има неколку депонии, тогаш се фокусираме на датумот на неуспех. Изберете ја саканата депонија и потоа ќе се појави детални информациина тоа.

Овде се прикажува името на грешката, нејзиниот СТОП код со параметри и ако причината е возачот, тогаш во соодветното поле ќе го најдеме неговото име.

Исто така, на дното на прозорецот на програмата, датотеките што исто така би можеле да предизвикаат дефект ќе бидат означени со розова боја. Ќе мора да се справиме со секој од нив по ред. Алгоритмот овде е сличен на оној што беше дискутиран во претходниот пост - бараме решение на Интернет и го користиме името на датотеката или кодот за грешка како клуч за пребарување.

Во овој случај, не е неопходно рачно да внесувате податоци во пребарувачот. Ако кликнете со десното копче на линијата за отпадоци, тогаш од контекстното мениМожете да изберете ставка што ќе ви овозможи да најдете опис на овој конкретен проблем во Google.

Можете да изберете да пребарувате на Google по код за грешка, по код за грешка и име на возачот или по код за грешка и параметар.

Исто така, користејќи ја оваа алатка, можете брзо да ја пронајдете локацијата на проблематичната датотека на дискот.

Понекогаш се случува датотеката што го предизвикала проблемот да припаѓа на некоја програма или игра. Според локацијата на датотеката на дискот, можете брзо да одредите на која програма или игра припаѓа.

Па, вреди да се знае дека се чини дека средствата за чистење ги бришат отпадите од меморијата, па ако користите такви програми, тогаш треба да се воздржите од нивно користење додека ја идентификувате причината за синиот екран на смртта.

И последното прашање на кое ќе одговорам како дел од оваа белешка е што да направите ако откако ќе се појави синиот екран, компјутерот повеќе не се вклучува?Односно, компјутерот се замрзнува или постојано е преоптоварен, што значи дека нема начин да се анализира депонијата на меморијата.

Одговорот е логичен и едноставен - треба да креирате бутабилен USB флеш драјв, со кој можете да ја „извлечете“ датотеката за отпад од хард диски анализирајте го на друг компјутер. За да го направите ова, подигнете се од флеш-уред и на хард дискот на компјутерот во папката Windowsили во подпапка мини депонијаЈа наоѓаме датотеката за депонија, која ја копираме на флеш-уредот. Потоа на друг компјутер користејќи ја алатката BlueScreenViewНие ја анализираме депонијата, како што е опишано во оваа белешка.

Во Виндоус 8, Мајкрософт воведе нова депонија за меморија - опција за автоматско исфрлање на меморијата. Оваа поставка е стандардно поставена во оперативниот систем. Windows 10 воведе нов тип на дамп датотека - активна меморија. За оние кои не знаат, во Windows 7 имаме мала депонија, core dump и full core dump. Можеби се прашувате зошто Мајкрософт одлучи да го создаде ова нов параметармеморија депонија? Според Роберт Симпкинс, виш инженер за поддршка, автоматското фрлање меморија може да создаде поддршка за страницата „систем“ во конфигурациската датотека.
Системот за управување со конфигурацијата на датотеката за страничење е одговорен за управување со големината на датотеката за страничење - со тоа се избегнува непотребниот простор за глава или големината на датотеката за страничење. Оваа опција е воведена главно за компјутери кои работат на SSD-дискови, кои имаат тенденција да бидат помали по големина, но имаат огромна количина RAM меморија.

Опции за складирање на меморија

Главната предност на „Automatic memory dump“ е тоа што ќе и овозможи на потсистемската сесија во менаџерот на процеси автоматски да ја намали датотеката на страницата на големина помала од големината на RAM меморијата. За оние кои не знаат, сесијата за менаџер на потсистем е одговорна за иницијализацијата на системот, околината за стартување за услугите и процесите кои се потребни за корисникот да се најави во системот. Во основа ја поставува страницата со датотеки на виртуелна меморијаи го започнува процесот winlogon.exe.

Ако сакате да ги промените поставките за автоматско исфрлање на меморијата, еве како да го направите тоа. Притиснете го копчето Windows + X и изберете - Систем. Следно, кликнете на копчето „Напредни системски поставки - Однапред Систем Поставки”.

Кликнете на копчето Напредни системски поставки.

Овде можете да видите паѓачко мени каде што пишува „Напредно“.

Овде можете да ја изберете опцијата што ја сакате. Предложени опции:

Нема депонии за меморија.
Мала депонија за меморија.
Депонија за меморија на кернелот.
Комплетна депонија за меморија.
Автоматско отстранување на меморијата. Додадено во Windows 8.
Депонија на активна меморија. Додадено во Windows 10.
Локацијата на датотеката за исфрлање на меморијата е во датотеката %SystemRoot%\MEMORY.DMP.

Доколку користите SSD диск, тогаш подобро е да го оставите на „Автоматско фрлање меморија“; но ако ви треба crash dump-датотека, тогаш подобро е да ја поставите на „small memory dump“, со неа можете, ако сакате, да ја испратите на некој за да може да ја погледне.

Во некои случаи, можеби ќе треба да ја зголемите големината на датотеката со страница поголема од RAM меморијата за да може да собере целосна меморија. Во такви случаи, треба да креирате клуч за регистар:

HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\CrashControl

се вика „LastCrashTime“.

Ова автоматски ќе ја зголеми големината на датотеката за размена. За да го намалите подоцна, можете едноставно да го отстраните овој клуч.

Windows 10 воведе нова дамп датотека наречена активна меморија. Ги содржи само неопходните работи и затоа е помал по големина.

Немам начин да го тестирам, но го создадов овој клуч и ја следев големината на датотеката на страницата. Знам дека порано или подоцна ќе добијам критична грешка. Потоа ќе го проверам.

Можете да ја анализирате меморијата на датотеките Windows.dmp користејќи WhoCrashed. WhoCrashed Home е бесплатна алатка која обезбедува драјвери што се инсталирани на вашиот компјутер со еден клик. Во повеќето случаи, може да идентификува неисправен драјвер што предизвикува проблеми на вашиот компјутер. Ова е системска анализа на падови, депонии од меморијата и сите собрани информации се претставени овде во достапна форма.

Вообичаено, комплетот алатки за отстранување грешки ќе отвори депонија за падови за анализа. Со оваа алатка, не ви требаат никакво знаење или вештини за отстранување грешки за да дознаете кои драјвери предизвикуваат проблеми на вашиот компјутер.

WhoCrashed се потпира на пакет за дебагирање (програмата windbg) од Microsoft. Ако овој пакет не е инсталиран, WhoCrashed ќе го преземе и автоматски ќе го извлече овој пакет за вас. Само стартувајте ја програмата и кликнете на копчето Анализа. Кога имате инсталирано WhoCrashed на вашиот систем и ако тој падне или неочекувано се затвори, програмата ќе ве извести дали е овозможено crash dumping на вашиот компјутер и ќе ви понуди предлози како да ги овозможите.

Оваа кратка белешка има за цел да покаже како можете да го конфигурирате системот за да добиете итен случај Депонија за меморија на Windows, односно депонија што може да се создаде доколку се случи критичен дефект, што се карактеризира со појава на син екран на смртта (BSOD). Што е депонијата воопшто, зошто ни е потребна и што е тоа, кои проблеми треба да ги реши и какви информации содржи?

Мемориска депонија - содржината на работната меморија на процес, јадро или цел оперативен систем, вклучувајќи, покрај работните области, Дополнителни информацииза состојбата на процесорските регистри, содржината на стекот и другите услужни структури.

Зошто можеби ни е потребна оваа содржина, т.е. Депонија за меморија на Windows? Можеби најчеста употреба на складиштето за меморија е да се проучат причините за дефект на системот (), што предизвика оперативниот систем целосно да запре. Покрај ова, состојбата на меморијата може да се користи и за други цели. Исто така, важно е меморијата да е буквално единствениот начиндобивајте информации за каков било неуспех! А земањето (добивањето) депонијата на системската меморија е, всушност, единствениот точен метод за добивање инстант отпечаток од прст (копија) од содржината на физичката меморија на системот.

Колку попрецизно содржината на депонијата ја одразува состојбата на меморијата во моментот на дефект, толку подетално ќе можеме да ја анализираме итна ситуација. Затоа, исклучително е важно да се добие ажурирана копија од физичката меморија на системот во строго дефинирана временска точка веднаш пред дефектот. И единствениот начин да го направите ова е да создадете целосна депонија за несреќи. Причината е сосема тривијална - кога ќе се случи пад на системската меморија, или како резултат на дефект или како резултат на вештачки симулирана ситуација, системот во овој момент на примање контрола на функциите за итни случаи (KeBugCheckEx) е во апсолутно непроменета (статична) состојба, затоа, помеѓу моментот кога ќе се случи дефектот и моментот кога податоците се запишуваат на медиумот, ништо не ја менува содржината на физичката меморија и таа се запишува на дискот во неговата оригинална состојба. Па, ова е во теорија, но повремено во животот, но има ситуации каде што, поради неисправни хардверски компоненти, самата меморија може да се оштети или станицата може да замрзне додека го снима депонијата.

Во огромното мнозинство на случаи, од моментот кога започнува процесот на создавање пад на меморијата до крајот на запишувањето на содржината на меморијата на дискот, информациите во меморијата остануваат непроменети.

Теоретски, статичноста (непроменливоста) на меморискиот „отпечаток“ се објаснува со фактот дека кога се повикува функцијата KeBugCheckEx, која прикажува информации за неуспехот и го започнува процесот на создавање мемориска депонија, системот е веќе целосно запрен и содржината на физичката меморија се запишува на блокови окупирани на дискот од страна на датотеката за страничење, по што, за време на следното вчитување на оперативниот систем, таа се ресетира во датотека на медиумот на системот. Па, скоро еднаш забележав ситуација кога неисправна матична плочаме спречи да зачувам депонија за меморија: а) замрзнување додека работи логиката за зачувување на ѓубрето (процесот не достигна 100%), б) оштетување на датотеката за исфрлање меморија (дебагерот се пожали на структури), в) пишување меморија.dmp dump датотеки со нулта должина. Затоа, и покрај фактот што системот е веќе целосно запрен во моментот кога се креира депонијата за меморија и работи само кодот за итни случаи, неисправниот хардвер може да направи прилагодувања на која било логика без исклучок во која било фаза од работењето.
Традиционално, во почетната фаза, блоковите на дискот доделени на страницата се користат за зачувување на меморијата на Windows. Потоа, по син екран и рестартирање, податоците се преместуваат во посебна датотека, а потоа датотеката се преименува со помош на шема во зависност од типот на депонијата. Сепак, почнувајќи од верзии на WindowsВиста, оваа состојба може да се смени; сега на корисникот му се дава можност да зачува избрана депонија без учество на датотека за размена, ставајќи информации за неуспехот во привремена датотека. Ова беше направено со цел да се елиминираат конфигурациските грешки поврзани со неточни поставки за големината и положбата на датотеката за страничење, што често доведуваше до проблеми за време на процесот на зачувување на складиштето на меморијата.
Ајде да видиме какви типови на депонии ни дозволува да создадеме оперативниот систем Windows:

  • Процесна (апликација) мемориска депонија;
  • Депонија за меморија на кернелот;
  • Депонија на целосна меморија (депонирање на достапниот дел од физичката меморија на системот).

Сите депонии за несреќи може да се поделат во две главни категории:

  • Несреќи со информации за исклучокот што се случил. Обично се создава во автоматски режим, кога ќе се појави неракуван исклучок во апликацијата/кернелот и, соодветно, може да се повика системот (вградениот) дебагер. Во овој случај, информациите за исклучокот се запишуваат на депонија, што го олеснува одредувањето на видот на исклучокот и каде се случил при последователната анализа.
  • Информации за падови без исклучок. Обично се создава рачно од страна на корисникот кога е неопходно едноставно да се создаде слика од процесот за последователна анализа. Оваа анализа не подразбира одредување на типот на исклучок, бидејќи не се случил исклучок, туку анализа од сосема различен вид, на пример, проучување на структурите на податоци на еден процес и така натаму.

Конфигурација на меморијата на кернелот

Мора да сте најавени под административни сметказа да ги извршите чекорите опишани во овој дел.

Ајде да скокнеме директно во конфигурирање на поставките за пад на падот на Windows. Прво, треба да одиме во прозорецот за својства на системот на еден од следниве начини:

  1. Десен-клик на иконата "Мој компјутер" - "Карактеристики" - "Напредни системски поставки" - "Напредно".
  2. Копче "Start" - "Control Panel" - "System" - "Advanced system settings" - "Advanced".
  3. Кратенка на тастатурата "Windows" + "Пауза" - "Напредни системски поставки" - "Напредно".

  4. систем за контрола.cpl,3
  5. Изврши во командна линија(cmd):
    System PropertiesAdvanced

Резултатот од опишаните дејства е да се отвори прозорецот „Својства на системот“ и да се избере табулаторот „Напредно“:

После тоа, во делот „Подигање и обновување“ кликнуваме, избираме „Опции“ и со тоа отвораме нов прозорец наречен „Преземи и обновување“:

Сите параметри на падот на падот се групирани во блок на параметри наречен „Системски дефект“. Во овој блок можеме да ги поставиме следните параметри:

  1. Запишувајте настани во системскиот дневник.
  2. Изведете автоматско рестартирање.
  3. Снимање информации за дебагирање.
  4. Исфрлете ја датотеката.
  5. Заменете ја постоечката депонија.

Како што можете да видите, многу од параметрите од списокот се прилично тривијални и лесни за разбирање. Сепак, би сакал да елаборирам за параметарот „Dump File“. Параметарот е претставен како паѓачка листа и има четири можни вредности:

Мала депонија за меморија

Мала депонија за меморија (minidump) е датотека што содржи најмала количина на информации за дефектот. Најмалата од сите можни депонии за меморија. И покрај очигледните недостатоци, мини дамките често се користат како информации за неуспехот да се пренесат на трети продавачи на возачи за последователно проучување.
Соединение:

  • Грешка порака.
  • Вредност на грешка.
  • Параметри за грешка.
  • Контекстот на процесорот (PRCB) на кој се случи неуспехот.
  • Процес на информации и контекст на јадрото (EPROCESS) за процесот на паѓање и сите негови нишки.
  • Процес на информации и контекст на јадрото (ETHREAD) за нишката што го предизвикува падот.
  • Магацинот за режим на јадро за нишката што го предизвика падот.
  • Список на вчитани драјвери.

Сместување: %SystemRoot%\Minidump\MMDDYY-XXXXXX-NN.dmp. Каде што MMDDYY е месецот, денот и годината, соодветно, NN е серискиот број на депонијата.
Волумен: Големината зависи од битноста на оперативниот систем: потребни се само 128 килобајти за 32-битен и 256 килобајти за 64-битен ОС во датотеката за страничење (или во датотеката наведена во DedicatedDumpFile). Бидејќи не можеме да поставиме толку мала големина, ја заокружуваме на 1 мегабајт.

Депонија за меморија на кернелот

Овој тип на депонија содржи копија од целата меморија на кернелот во моментот на падот.
Соединение:

  • Список на процеси кои се извршуваат.
  • Состојба на тековната нишка.
  • Мемориски страници во режим на јадро присутни во физичката меморија во моментот на падот: меморија на двигателот во режим на јадро и програмска меморија во режим на јадро.
  • Меморија зависно од хардверско ниво (HAL).
  • Список на вчитани драјвери.

На депонијата за меморија на јадрото недостасуваат нераспределени мемориски страници и страници за кориснички режим. Се согласувам, малку е веројатно дека страниците за процесот на кориснички режим ќе бидат интересни за нас за време на дефект на системот (Проверка на грешки), бидејќи неуспехот на системот обично се иницира од кодот на режимот на јадрото.

Големина: варира во зависност од големината на адресниот простор на јадрото доделен од оперативниот систем и бројот на двигатели на режимот на јадрото. Вообичаено, околу една третина од физичката меморија е потребна во датотеката swap (или во датотеката наведена во DedicatedDumpFile). Може да варира.

Комплетна депонија за меморија

Депонијата за целосна меморија содржи копија од целата физичка меморија (RAM) во моментот на дефектот. Соодветно на тоа, целата содржина на системската меморија е вклучена во датотеката. Ова е и предност и голем недостаток, бидејќи нејзината големина може да биде значајна на некои сервери со голема количина RAM меморија.
Соединение:

  • Сите страници на „видливата“ физичка меморија. Ова е речиси целата системска меморија, со исклучок на областите што ги користи хардверот: BIOS, PCI простор, итн.
  • Податоци од процесите што се извршуваа на системот во моментот на неуспехот.
  • Страници со физичка меморија кои не се мапирани во виртуелниот адресен простор, но кои можат да помогнат во истражувањето на причината за неуспехот.

Стандардно, депонијата за целосна меморија не вклучува области на физичка меморија што ги користи BIOS-от.
Локација: %SystemRoot%\MEMORY.DMP . Претходната депонија е препишана.
Јачина на звук: датотеката за страничење (или датотеката наведена во DedicatedDumpFile) бара волумен еднаков на големината на физичката меморија + 257 мегабајти (овие 257 MB се поделени на одредено заглавие + податоци за двигателот). Всушност, во некои ОС, долниот праг на датотеката за страничење може да се постави точно на вредноста на големината на физичката меморија.

Автоматско отстранување на меморијата

Почнувајќи со Windows 8/Windows Server 2012, во системот е воведен нов тип на депонии наречен Automatic Memory Dump, кој е поставен како стандарден тип. Во овој случај, самиот систем одлучува која меморија ќе ја сними во случај на одреден дефект. Покрај тоа, логиката на избор зависи од многу критериуми, вклучувајќи ја и фреквенцијата на „падот“ на оперативниот систем.

Откако ќе ја промените конфигурацијата за складирање на меморијата на Windows, можеби ќе треба да го рестартирате компјутерот.

Поставки за регистар

Делот во регистарот што ги дефинира параметрите за пад на падот:

HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\CrashControl

Опции:

Параметар Тип Опис
Автоматско рестартирање REG_DWORD Овозможете/оневозможете автоматско рестартирање кога ќе се појави BSOD.
CrashDumpEnabled REG_DWORD Типот на депонија што се создава.
  • 0 - не создавајте складиште за меморија;
  • 1 - комплетна меморија;
  • 2 - депонија за меморија на јадрото;
  • 3 - мала депонија за меморија;
DumpFile REG_EXPAND_SZ Патека и име на депонијата за меморија на кернелот и депонијата за целосна меморија.
Дампфилтри REG_MULTI_SZ Филтер за двигател во купот на двигатели за исфрлање меморија. Ви овозможува да додадете нова функционалност во фазата на создавање на падови. На пример, шифрирање на содржината на депонијата. Не се препорачува промена на вредноста.
LogEvent REG_DWORD Снимање настан во системскиот дневник.
MinidumpDir REG_EZPAND_SZ Патека и име на малата мемориска депонија.
Броење на минидуми REG_DWORD Максимален број на мали депонии за меморија. Кога ќе се надмине, постарите верзии почнуваат да се препишуваат.
Презапишете REG_DWORD Заменете ја постоечката депонија. Само за складирање на меморијата на кернелот и исфрлање на целосна меморија.
IgnorePagefileSize REG_DWORD Ја игнорира стандардната датотека на страницата како место за привремено (средно) складирање на депонија во меморијата. Укажува дека депонијата за меморија треба да се запише во посебна датотека. Се користи заедно со опцијата DedicatedDumpFile.
DedicatedDumpFile REG_EZPAND_SZ Патека и име на привремена алтернативна датотека за снимање на меморија. Во вториот премин, податоците сепак ќе бидат преместени во DumpFile/MinidumpDir.

Рачно креирање на складиште за меморија

Погоре ги опишавме поставките за автоматско креирање падови на системот во случај на критична грешка, односно неракуван исклучок во кодот на јадрото. Но во вистински живот, покрај падот на оперативниот систем, постојат ситуации кога е неопходно да се добие складиште за системска меморија во одреден момент во времето. Како да се биде во овој случај? Постојат методи за добивање слика на целата физичка меморија, на пример со користење на командата .dump во дебагерите WinDbg/LiveKD. LiveKD е програма која ви овозможува да го извршите дебагерот на кернелот Kd на активен систем во локален режим. Слична карактеристика има и дебагерот WinDbg. Сепак, методот за фрлање на ѓубре не е точен бидејќи депонијата генерирана во овој случај е „неконзистентна“ бидејќи е потребно време да се генерира депонија, а во случај да се користи дебагерот на режимот на јадрото, системот продолжува да работи и да прави се менува на мемориските страници.

Сите Windows системи, кога ќе се открие фатална грешка, прават краш депонии (слика) на содржината на RAM меморијата и зачувајте ја на HDD. Постојат три типа на складирање меморија:

Целосна меморија - ја зачувува целата содржина на RAM меморијата. Големината на сликата е еднаква на големината на RAM + 1 MB (заглавие). Многу ретко се користи, бидејќи на системи со голема количина на меморија големината на депонијата ќе биде преголема.

Отстранување на меморијата на кернелот – зачувува информации за RAM меморијата поврзани само со режимот на јадрото. Информациите за корисничкиот режим не се зачувуваат бидејќи не содржат информации за причината за падот на системот. Големината на испратената датотека зависи од големината на RAM-от и варира од 50 MB (за системи со 128 MB RAM) до 800 MB (за системи со 8 GB RAM).

Мала меморија за складирање (мини депонија) - содржи прилично мала количина на информации: код за грешка со параметри, список на драјвери вчитани во RAM меморијата во моментот на паѓање на системот итн., но оваа информација е доволна за да се идентификува дефектниот драјвер . Друга предност на овој тип на депонија е малата големина на датотеката.

Поставување на системот

За да го идентификуваме возачот што го предизвикал, ќе ни биде доволно да користиме мала меморија. За да може системот да спаси мини депонија за време на падот, мора да ги извршите следните чекори:

За Windows Xp За Windows 7
  1. Мојот компјутер Својства
  2. Одете на јазичето Дополнително;
  3. Опции;
  4. На терен Пишување информации за отстранување грешкиизберете Мала меморија (64 KB).
  1. Десен-клик на иконата Компјутерод контекстното мени изберете Својства(или комбинацијата на копчиња Win+Pause);
  2. Во левото мени, кликнете на ставката Напредни системски поставки;
  3. Одете на јазичето Дополнително;
  4. Во полето Преземи и обновување, мора да кликнете на копчето Опции;
  5. На терен Пишување информации за отстранување грешкиизберете Мала меморија (128 KB).

Откако ќе ги завршите сите манипулации, по секоја BSoD датотека со наставката .dmp ќе се зачува во папката C:\WINDOWS\Minidump. Ве советувам да го прочитате материјалот "". Можете исто така да го штиклирате полето „ Заменете ја постоечката депонија" Во овој случај, секоја нова хаварија ќе биде запишана над старата. Не препорачувам да ја вклучите оваа опција.

Анализирање на депонија за несреќа со помош на BlueScreenView

Така, откако се појави Синиот екран на смртта, системот зачува нова меморија за падови. За да го анализирате депонијата, препорачувам да ја користите програмата BlueScreenView. Може да се преземе бесплатно. Програмата е доста удобна и има интуитивен интерфејс. Откако ќе го инсталирате, првото нешто што треба да направите е да ја наведете локацијата за складирање на мемориските депонии на системот. За да го направите ова, одете во ставката од менито " Опции" и изберете " НапредноОпции" Изберете го копчето за радио „ ВчитајоднаследењеМини депонијапапка” и наведете ја папката во која се чуваат депонии. Ако датотеките се зачувани во папката C:\WINDOWS\Minidump, можете да кликнете на „ Стандардно" Кликнете ОК и одете до интерфејсот на програмата.

Програмата се состои од три главни блока:

  1. Блок на главното мени и контролен панел;
  2. Блок на список со депонија за падови;
  3. Во зависност од избраните параметри, може да содржи:
  • список на сите драјвери во RAM меморијата пред да се појави синиот екран (стандардно);
  • листа на драјвери лоцирани во оџакот RAM;
  • BSoD екранот;
  • и други вредности што нема да ги користиме.

Во блокот на списокот за складирање на меморијата (означен со број 2 на сликата), изберете го депонијата што нè интересира и погледнете ја листата на драјвери што беа вчитани во RAM меморијата (означена со број 3 на сликата). Возачите што беа на меморискиот стек се обоени во розова боја. Тие се причина за BSoD. Следно, одете во Главното мени на возачот, одредете на кој уред или програма припаѓаат. Пред сè, обрнете внимание на несистемските датотеки, бидејќи системските датотеки во секој случај се вчитуваат во RAM меморијата. Лесно е да се види дека неисправниот двигател на сликата е myfault.sys. Ќе кажам дека оваа програма беше специјално лансирана за да предизвика грешка Стоп. Откако ќе го идентификувате дефектниот двигател, треба или да го ажурирате или да го отстраните од системот.

За да може програмата да прикаже листа на драјвери лоцирани на меморискиот стек кога ќе се појави BSoD, треба да отидете во ставката од менито “ Опции„Кликнете на менито“ ПонискоПанелМод" и изберете " СамоВозачиПронајденВоСтак” (или притиснете го копчето F7) и за да прикажете слика од екранот на грешката, изберете „ СинаЕкранвоXPСтил“ (F8). За да се вратите на списокот на сите драјвери, мора да изберете „ СитеВозачи“ (F6).




Врв