Vianetsintätietojen tallentaminen Windows 10:lle, mitä asennetaan. Kuinka käyttää muistivedosta BSOD:n aiheuttavan ohjaimen määrittämiseen. Vianetsintäsymbolipalvelimen määrittäminen WinDBG:ssä

Hei ystävät, keskustelemme tänään mielenkiintoisesta aiheesta, joka auttaa sinua tulevaisuudessa sininen näyttö kuolema (BSoD).

Kuten minä, monet muut käyttäjät joutuivat tarkkailemaan sinisen taustan näytön ulkonäköä, johon oli kirjoitettu jotain (valkoinen sinisellä). Tämä ilmiö viittaa kriittiseen ongelmaan, kuten esim ohjelmisto, esimerkiksi ohjainristiriita tai jonkin tietokoneen osan fyysinen toimintahäiriö.

Sain äskettäin jälleen sinisen näytön ongelman Windows 10:ssä, mutta pääsin siitä nopeasti eroon ja kerron siitä sinulle pian.

Joten useimmat käyttäjät eivät tiedä, että BSoD voidaan analysoida kriittisten virheongelmien ymmärtämiseksi myöhemmin. sellaisille Windows-kotelot luo erityisiä tiedostoja levylle - analysoimme ne.

Muistivedoksia on kolmenlaisia:

Täysi muistin tyhjennys– Tämän toiminnon avulla voit tallentaa sisällön kokonaan RAM-muisti. Sitä käytetään harvoin, koska kuvittele, että sinulla on 32 Gt RAM-muistia, täydellä dumpilla kaikki tämä taltio tallennetaan levylle.

Ytimen kaatopaikka– tallentaa ytimen tilatiedot.

Pieni muistin tyhjennys– tallentaa pienen määrän virhetietoja ja ladattuja komponentteja, jotka olivat paikalla järjestelmän toimintahäiriön ilmetessä. Käytämme tämän tyyppistä kaatopaikkaa, koska se antaa meille tarpeeksi tietoa BSoD:stä.

Sekä pienen että täyden vedoksen sijainti on erilainen, esimerkiksi pieni vedos sijaitsee seuraavalla polulla: %systemroot%\minidump.

Koko vedos on täällä: %systemroot%.

Muistivedosten analysoimiseksi on olemassa erilaisia ​​ohjelmia, mutta käytämme kahta. Ensimmäinen on Microsoft Kernel Debuggers, kuten nimestä voi päätellä, Microsoftin apuohjelma. Voit ladata sen viralliselta verkkosivustolta. Toinen ohjelma on BlueScreenView, ilmainen ohjelma, voit ladata täältä.

Muistivedosten analysointi Microsoft Kernel Debuggers -ohjelman avulla

Eri järjestelmien versioille sinun on ladattava erityyppinen apuohjelma. Esimerkiksi 64-bittisille käyttöjärjestelmä, tarvitset 64-bittisen ohjelman, 32-bittiselle ohjelmalle - 32-bittisen version.

Siinä ei vielä kaikki, sinun on ladattava ja asennettava ohjelmalle tarvittava virheenkorjaussymbolien paketti. Sitä kutsutaan virheenkorjaussymboleiksi. Jokainen tämän paketin versio ladataan myös tietyllä käyttöjärjestelmällä. Selvitä ensin, mikä järjestelmä sinulla on, ja lataa sitten. Jotta sinun ei tarvitse etsiä näitä symboleja mistään, tässä on latauslinkki. Asennus tulisi mieluiten tehdä tällä polulla: %systemroot%\symbols.

Nyt voit käynnistää debuggerimme, jonka ikkuna näyttää tältä:

Ennen kaatopaikkojen analysointia määritämme jotain apuohjelmassa. Ensin meidän on kerrottava ohjelmalle, mihin asensimme virheenkorjaussymbolit. Voit tehdä tämän napsauttamalla "Tiedosto" -painiketta ja valitsemalla "Symbol File Path" -kohdan ja osoittamalla sitten polku symboleihin.


Ohjelman avulla voit poimia symboleja suoraan verkosta, joten sinun ei tarvitse edes ladata niitä (anteeksi niille, jotka ovat jo ladanneet). Ne otetaan Microsoft-palvelimelta, joten kaikki on turvallista. Joten sinun on avattava "Tiedosto" uudelleen, sitten "Symbol File Path" ja syötettävä seuraava komento:

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


Näin ollen ilmoitimme ohjelmalle, että symbolit tulisi ottaa verkosta. Kun olemme tehneet tämän, napsauta "Tiedosto" ja valitse "Tallenna työtila" ja napsauta sitten OK.

Siinä kaikki. Olemme määrittäneet ohjelman oikealla tavalla, nyt alamme analysoida muistivedoksia. Paina ohjelmassa -painiketta "Tiedosto", Sitten "Avaa Crash Dump" ja valitse haluamasi tiedosto.

Kernel Debuggers alkaa analysoida tiedostoa ja tulostaa sitten tuloksen virheen syystä.


Näyttöön tulevassa ikkunassa voit kirjoittaa komentoja. Jos astumme sisään !analysoi –v, niin saamme lisätietoja.

Siinä kaikki tämän ohjelman kanssa. Pysäytä virheenkorjaus valitsemalla "Debug" ja "Stop Debugging".

Muistivedosten analysointi BlueScreenView'n avulla

BlueScreenView-ohjelma soveltuu myös erilaisten virheiden ja BSoD:iden analysointiin, sillä on yksinkertainen käyttöliittymä, joten sen hallitsemisessa ei pitäisi olla ongelmia.

Lataa ohjelma yllä olevasta linkistä ja asenna. Kun olet käynnistänyt apuohjelman, sinun on määritettävä se. Siirry parametreihin: "Asetukset" - " Lisävaihtoehdot" Pieni ikkuna avautuu parilla esineellä. Ensimmäisessä kappaleessa sinun on ilmoitettava muistivedosten sijainti. Ne sijaitsevat yleensä polussa C:\WINDOWS\Minidump. Napsauta sitten "Oletus"-painiketta.


Mitä näet ohjelmassa? Meillä on valikkokohteet, osa ikkunasta vedostiedostojen nimillä ja ikkunan toinen osa - muistivedosten sisältö.


Kuten artikkelin alussa sanoin, kaatopaikat voivat tallentaa ajureita, kuvakaappauksen itse "kuoleman näytöstä" ja muuta hyödyllistä tietoa, joka voi olla hyödyllinen meille.

Joten ikkunan ensimmäisessä osassa, jossa vedostiedostot ovat, valitse tarvitsemamme muistivedos. Ikkunan seuraavassa osassa katsomme sisältöä. Muistipinossa sijaitsevat ajurit on merkitty punaisella värillä. Ne ovat juuri syy sinisen kuoleman näytölle.

Internetistä löydät kaiken virhekoodista ja ohjaimesta, jotka voivat olla syyllisiä BSoD:hen. Voit tehdä tämän napsauttamalla "Tiedosto" ja sitten "Etsi virhekoodi + ohjain Googlesta".


Voit näyttää vain ne ohjaimet, jotka olivat paikalla virheen ilmetessä. Voit tehdä tämän napsauttamalla "Asetukset" - "Alhainen ikkunatila" - "Vain kaatumispinosta löytyvät ohjaimet". Tai paina F7-näppäintä.

Näytä BSoD-kuvakaappaus painamalla F8.

Näytä kaikki ohjaimet ja tiedostot painamalla F6.

No, siinä kaikki. Nyt tiedät kuinka saada selville Blue Screen of Death -ongelma, ja jos jotain tapahtuu, etsi ratkaisu Internetistä tai tältä sivustolta. Voit tarjota virhekoodisi, ja yritän kirjoittaa jokaiseen artikkeliin ongelman ratkaisemiseksi.

Älä myöskään unohda esittää kysymyksiä kommenteissa.

Jatkan puhumista kuoleman sinisestä kuvaruudusta, josta aloitin.

Joten jos tietokone äkillisesti käynnistyy uudelleen tai jumiutuu ja kuoleman sininen näyttö ei tule näkyviin tai näkyy sekunnin murto-osan ajan, tiedot vian syistä voidaan silti palauttaa.

Tosiasia on, että käyttöjärjestelmä vikahetkellä tallentaa RAM-muistin sisällön ns dump tiedosto(on laajennus .dmp). Jatkossa dump-tiedostoa voidaan analysoida ja saada samat tiedot kuin sinisellä näytöllä ja jopa hieman enemmän.

Mutta kaatopaikkojen luominen voidaan poistaa järjestelmästä, joten sinun tulee ensinnäkin varmistaa, että järjestelmä luo kaatuessaan kaatotiedostoja, ja toiseksi sinun pitäisi tietää sijainti levyllä, johon ne on tallennettu.

Tätä varten sinun on siirryttävä osioon Järjestelmä.

Windows 10:ssä tämä voidaan tehdä haun kautta ja sisään aiemmat versiot käyttöjärjestelmä Ohjauspaneelin kautta.

Täällä tapahtumien tallentaminen järjestelmälokiin pitäisi olla käytössä, mutta estääksesi tietokonetta käynnistymästä automaattisesti uudelleen ja näyttämästä meille kuolemansinisen näytön sisältöä, sinun on peruutettava automaattinen uudelleenkäynnistys, jos se oli käytössä.

Polku kaatopaikoille näkyy myös täällä - näemme, että vedos on tallennettu %SystemRoot%-kansioon - tämä on Windows-kansion nimitys.

Voit myös valita "pienen muistivedoksen", joka riittää virhekoodien etsimiseen.

Joten järjestelmä törmäsi kuoleman siniseen näyttöön, minkä jälkeen luotiin muistivedos.

Dump-analyysiä varten on olemassa erityisiä ohjelmia ja yksi suosituimmista on BlueScreenView-apuohjelma.

Ohjelma on erittäin helppokäyttöinen eikä vaadi asennusta - lataa se viralliselta verkkosivustolta ja pura se. Samaan aikaan voit ladata viralliselta verkkosivustolta tiedoston, jolla voit venyttää ohjelman. Tätä varten Tämä tiedosto sinun on asetettava se kansioon puretun ohjelman kanssa.

Jos ohjelman käynnistämisen jälkeen kaatopaikat eivät näy, vaikka järjestelmä kaatui kuoleman siniseen näyttöön, sinun tulee siirtyä ohjelman asetuksiin ja varmistaa, että muistivedosten polku on määritetty oikein, eli se pitäisi olla samat kuin järjestelmäasetuksissa.

Tämän jälkeen sinun on päivitettävä tiedot ohjelmaikkunassa ja kaikki järjestelmään luodut kaatopaikat tulevat näkyviin. Jos kaatopaikkoja on useita, keskitymme epäonnistumispäivään. Valitse haluamasi dump, ja se tulee näkyviin yksityiskohtainen tieto sen päällä.

Täällä näytetään virheen nimi, sen STOP-koodi parametreineen, ja jos syy oli ohjain, niin vastaavasta kentästä löydämme sen nimen.

Ohjelmaikkunan alareunassa myös tiedostot, jotka voivat myös aiheuttaa virheen, korostetaan vaaleanpunaisella. Meidän on käsiteltävä niitä jokaista järjestyksessä. Tässä oleva algoritmi on samanlainen kuin edellisessä viestissä käsitelty - etsimme ratkaisua Internetistä ja käytämme hakuavaimena tiedoston nimeä tai virhekoodia.

Tässä tapauksessa tietoja ei tarvitse syöttää manuaalisesti hakukoneeseen. Jos napsautat vedosriviä hiiren kakkospainikkeella, sitten alkaen kontekstivalikko Voit valita kohteen, jonka avulla voit löytää kuvauksen tästä ongelmasta Googlessa.

Voit valita Google-haun virhekoodin, virhekoodin ja ohjaimen nimen tai virhekoodin ja parametrin perusteella.

Tämän apuohjelman avulla voit myös löytää nopeasti ongelmallisen tiedoston sijainnin levyltä.

Joskus käy niin, että ongelman aiheuttanut tiedosto kuuluu johonkin ohjelmaan tai peliin. Levyllä olevan tiedoston sijainnin perusteella voit nopeasti määrittää, mihin ohjelmaan tai peliin se kuuluu.

No, on syytä tietää, että puhdistusaineet näyttävät poistavan muistikaappauksia, joten jos käytät tällaisia ​​ohjelmia, sinun tulee pidättäytyä niiden käytöstä tunnistaessasi sinisen kuoleman syyn.

Ja viimeinen kysymys, johon aion vastata osana tätä muistiinpanoa, on mitä tehdä, jos tietokone ei enää käynnisty sinisen näytön ilmestymisen jälkeen? Toisin sanoen tietokone jumiutuu tai on jatkuvasti ylikuormitettu, mikä tarkoittaa, että muistivedosta ei voi analysoida.

Vastaus on looginen ja yksinkertainen - sinun on luotava käynnistettävä USB-muistitikku, jolla voit "purkaa" vedostiedoston kovalevy ja analysoida sitä toisella tietokoneella. Voit tehdä tämän käynnistämällä flash-asemalta ja tietokoneen kiintolevyltä kansiossa Windows tai alikansiossa minidump Löydämme vedostiedoston, jonka kopioimme flash-asemaan. Sitten toisella tietokoneella apuohjelman avulla BlueScreenView Analysoimme kaatopaikan tässä huomautuksessa kuvatulla tavalla.

Windows 8:ssa Microsoft esitteli uuden muistivedoksen - automaattisen muistivedosvaihtoehdon. Tämä asetus on oletusarvoisesti asetettu käyttöjärjestelmässä. Windows 10 esitteli uuden tyyppisen vedostiedoston - aktiivisen muistivedoksen. Niille, jotka eivät tiedä, Windows 7:ssä meillä on pieni dump, core dump ja full core dump. Saatat ihmetellä, miksi Microsoft päätti luoda tämän uusi parametri muistin tyhjennys? Robert Simpkinsin, vanhempi tukiinsinööri, mukaan automaattinen muistivedos voi luoda tuen määritystiedoston "järjestelmä"-sivulle.
Sivutustiedoston kokoonpanon hallintajärjestelmä on vastuussa sivutustiedoston koon hallinnasta – näin vältetään tarpeeton sivuvarasto tai sivutustiedoston koko. Tämä vaihtoehto otetaan käyttöön pääasiassa tietokoneissa, jotka käyttävät SSD-asemia, jotka ovat yleensä pienempiä, mutta joissa on valtava määrä RAM-muistia.

Muistin tyhjennysvaihtoehdot

"Automaattisen muistivedoksen" tärkein etu on, että sen avulla prosessinhallinnan alijärjestelmäistunto voi automaattisesti pienentää sivutiedoston RAM-muistin kokoa pienemmäksi. Niille, jotka eivät tiedä, alijärjestelmänvalvojan istunto vastaa järjestelmän alustuksesta, käynnistysympäristöstä palveluille ja prosesseille, joita käyttäjä tarvitsee kirjautuakseen järjestelmään. Se pohjimmiltaan asettaa tiedostosivulle virtuaalinen muisti ja käynnistää winlogon.exe-prosessin.

Jos haluat muuttaa automaattisia muistivedosasetuksia, tee se seuraavasti. Paina Windows-näppäintä + X ja valitse - Järjestelmä. Napsauta seuraavaksi painiketta "Järjestelmän lisäasetukset - Advance Järjestelmä asetukset”.

Napsauta Järjestelmän lisäasetukset -painiketta.

Täällä näet avattavan valikon, jossa lukee "Lisäasetukset".

Täältä voit valita haluamasi vaihtoehdon. Ehdotetut vaihtoehdot:

Ei muistikatkoja.
Pieni muistin tyhjennys.
Ytimen muistivedos.
Täydellinen muistin tyhjennys.
Automaattinen muistin tyhjennys. Lisätty Windows 8:aan.
Aktiivinen muistivedos. Lisätty Windows 10:een.
Muistinvedostiedoston sijainti on %SystemRoot%\MEMORY.DMP-tiedostossa.

Jos käytät SSD-asema, niin on parempi jättää se kohtaan "Automaattinen muistivedos"; mutta jos tarvitset kaatumisvedostiedoston, on parempi asettaa se "pieni muistivedos", sillä voit halutessasi lähettää sen jollekin, jotta he voivat katsoa sitä.

Joissakin tapauksissa saatat joutua suurentamaan sivutiedoston kokoa RAM-muistia suuremmaksi, jotta se mahtuu täyteen muistiin. Tällaisissa tapauksissa sinun on luotava rekisteriavain:

HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\CrashControl

sen nimi on "LastCrashTime".

Tämä lisää automaattisesti swap-tiedoston kokoa. Voit vähentää sitä myöhemmin poistamalla tämän avaimen.

Windows 10:ssä esitelty uusi tiedosto dump aktiivinen muistivedos. Se sisältää vain välttämättömät ja on siksi kooltaan pienempi.

Minulla ei ole tapaa testata sitä, mutta loin tämän avaimen ja seurasin sivutiedoston kokoa. Tiedän, että ennemmin tai myöhemmin saan kriittisen virheen. Sitten tarkistan sen.

Voit analysoida Windows.dmp-tiedostojen muistivedosten käyttämällä WhoCrashedia. WhoCrashed Home on ilmainen apuohjelma, joka tarjoaa ajurit, jotka on asennettu tietokoneellesi yhdellä napsautuksella. Useimmissa tapauksissa se voi tunnistaa viallisen ohjaimen, joka aiheuttaa ongelmia tietokoneellesi. Tämä on järjestelmäanalyysin kaatumisvedos, muistivedos, ja kaikki kerätyt tiedot esitetään tässä saatavilla olevassa muodossa.

Yleensä virheenkorjaustyökalupakki avaa analyysin kaatumisvedoksen. Tämän apuohjelman avulla et tarvitse tietoja tai virheenkorjaustaitoja selvittääksesi, mitkä ohjaimet aiheuttavat ongelmia tietokoneessasi.

WhoCrashed luottaa Microsoftin virheenkorjauspakettiin (windbg-ohjelmaan). Jos tätä pakettia ei ole asennettu, WhoCrashed lataa ja purkaa tämän paketin automaattisesti puolestasi. Suorita vain ohjelma ja napsauta Analysoi-painiketta. Kun olet asentanut WhoCrashedin järjestelmääsi ja jos se kaatuu tai sulkeutuu odottamatta, ohjelma ilmoittaa, onko kaatumisten poistaminen käytössä tietokoneessasi, ja tarjoaa ehdotuksia niiden ottamiseksi käyttöön.

Tämän lyhyen huomautuksen tarkoituksena on näyttää, kuinka voit määrittää järjestelmän hätätilanteen saamiseksi Windowsin muistivedos, eli kaatopaikka, joka voidaan luoda, jos tapahtuu kriittinen vika, jolle on ominaista kuoleman sinisen näytön (BSOD) ilmestyminen. Mitä kaatopaikka yleensä on, miksi sitä tarvitaan ja mitä se on, mitä ongelmia sillä on tarkoitus ratkaista ja mitä tietoa se sisältää?

Muistin vedos - prosessin, ytimen tai koko käyttöjärjestelmän työmuistin sisältö, mukaan lukien työalueiden lisäksi Lisäinformaatio prosessorirekisterien tilasta, pinon sisällöstä ja muista palvelurakenteista.

Miksi saatamme tarvita tätä sisältöä, esim. Windowsin muistivedos? Ehkä yleisin muistivedosten käyttötarkoitus on tutkia järjestelmävian syitä (), joka aiheutti käyttöjärjestelmän täydellisen pysähtymisen. Tämän lisäksi muistitilaa voidaan käyttää muihin tarkoituksiin. On myös tärkeää, että muistivedos on kirjaimellisesti ainoa tapa saada tietoa mahdollisista epäonnistumisista! Ja järjestelmän muistivedosten ottaminen (hankkiminen) on itse asiassa ainoa tarkka menetelmä saada välitön sormenjälki (kopio) järjestelmän fyysisen muistin sisällöstä.

Mitä tarkemmin kaatopaikan sisältö kuvastaa muistin tilaa vian hetkellä, sitä yksityiskohtaisemmin pystymme analysoimaan hätätilanteen. Siksi on äärimmäisen tärkeää saada ajantasainen kopio järjestelmän fyysisestä muistista tiukasti määriteltynä ajankohtana välittömästi ennen vikaa. Ja ainoa tapa tehdä tämä on luoda täysi kaatopaikka. Syy on varsin triviaali - kun järjestelmämuistin kaatuminen tapahtuu joko vian seurauksena tai keinotekoisesti simuloidun tilanteen seurauksena, järjestelmä on tällä hetkellä hätätoimintojen hallinnan vastaanottamishetkellä (KeBugCheckEx) ehdottoman muuttumaton (staattinen) tila, joten vian ilmenemishetken ja sen hetken välillä, kun tiedot kirjoitetaan medialle, mikään ei muuta fyysisen muistin sisältöä ja se kirjoitetaan levylle alkuperäisessä tilassaan. No, tämä on teoriassa, mutta joskus elämässä, mutta on tilanteita, joissa viallisten laitteistokomponenttien vuoksi itse muistivedos voi vaurioitua tai asema voi jäätyä dumpin tallennuksen aikana.

Suurimmassa osassa tapauksista muistin tiedot pysyvät muuttumattomina siitä hetkestä, kun kaatumismuistin luontiprosessi alkaa, siihen asti, kun muistin sisällön kirjoittaminen levylle päättyy.

Teoreettisesti muistin "sormenjäljen" staattinen (muuttumattomuus) selittyy sillä, että kun kutsutaan KeBugCheckEx-toimintoa, joka näyttää tiedot viasta ja käynnistää muistivedosten luomisen, järjestelmä on jo täysin pysähtynyt ja fyysisen muistin sisältö kirjoitetaan sivutustiedoston levyllä oleviin lohkoihin, minkä jälkeen käyttöjärjestelmän myöhemmän latauksen aikana se palautetaan tiedostoksi järjestelmämedialla. No, melkein kerran huomasin tilanteen, jossa vika emolevy esti minua tallentamasta muistivedosta: a) jumiutuminen vedosten tallennuslogiikan ollessa käynnissä (prosessi ei saavuttanut 100 %), b) muistivedostiedoston vahingoittaminen (debuggeri valitti rakenteista), c) muisti.dmp dump:n kirjoittaminen tiedostot, joiden pituus on nolla. Tästä syystä huolimatta siitä, että järjestelmä on jo täysin pysäytetty muistivedoksen luomishetkellä ja vain hätäkoodi on käynnissä, viallinen laitteisto voi tehdä säätöjä mihin tahansa logiikkaan poikkeuksetta missä tahansa toimintavaiheessa.
Perinteisesti alkuvaiheessa sivutiedostolle varattuja levylohkoja käytetään Windowsin muistivedosten tallentamiseen. Sitten sinisen näytön ja uudelleenkäynnistyksen jälkeen tiedot siirretään erilliseen tiedostoon, ja sitten tiedosto nimetään uudelleen käyttämällä kaavaa vedostyypistä riippuen. Kuitenkin alkaen Windows-versiot Vistassa tätä tilannetta voidaan muuttaa; nyt käyttäjälle annetaan mahdollisuus tallentaa valittu vedos ilman swap-tiedoston osallistumista ja sijoittamalla tiedot epäonnistumisesta väliaikaiseen tiedostoon. Tämä tehtiin sivutustiedoston koon ja sijainnin vääriin asetuksiin liittyvien konfigurointivirheiden poistamiseksi, mikä usein johti ongelmiin muistivedosten tallennuksen aikana.
Katsotaanpa, minkä tyyppisiä kaatopaikkoja Windows-käyttöjärjestelmä antaa meille mahdollisuuden luoda:

  • Prosessi (sovellus) muistivedos;
  • Ytimen muistivedos;
  • Täydellinen muistivedos (järjestelmän fyysisen muistin käytettävissä olevan osan vedos).

Kaikki kaatopaikat voidaan jakaa kahteen pääluokkaan:

  • Törmäysvedot, joissa on tietoja tapahtuneesta poikkeuksesta. Yleensä luotu vuonna automaattinen tila, kun sovelluksessa/ytimessä tapahtuu käsittelemätön poikkeus ja vastaavasti järjestelmän (sisäänrakennettu) debuggeri voidaan kutsua. Tässä tapauksessa tiedot poikkeuksesta tallennetaan kaatopaikalle, mikä helpottaa poikkeuksen tyypin ja tapahtumapaikan määrittämistä myöhemmän analyysin aikana.
  • Poikkeuksetta kaatopaikat tiedot. Käyttäjä luo tyypillisesti manuaalisesti, kun on tarpeen luoda tilannekuva prosessista myöhempää analyysiä varten. Tämä analyysi ei tarkoita poikkeuksen tyypin määrittämistä, koska poikkeusta ei tapahtunut, vaan täysin toisenlaista analyysiä, esimerkiksi prosessin tietorakenteiden tutkimista ja niin edelleen.

Ytimen muistivedosmääritys

Sinun on kirjauduttava sisään järjestelmänvalvojana tili suorittaaksesi tässä osiossa kuvatut vaiheet.

Siirrytään suoraan Windowsin kaatumisvedosasetusten määrittämiseen. Ensin meidän on siirryttävä järjestelmän ominaisuuksien ikkunaan jollakin seuraavista tavoista:

  1. Napsauta hiiren kakkospainikkeella "Oma tietokone" -kuvaketta - "Ominaisuudet" - "Järjestelmän lisäasetukset" - "Lisäasetukset".
  2. "Käynnistä" -painike - "Ohjauspaneeli" - "Järjestelmä" - "Järjestelmän lisäasetukset" - "Lisäasetukset".
  3. Pikanäppäin "Windows" + "Tauko" - "Järjestelmän lisäasetukset" - "Lisäasetukset".

  4. ohjausjärjestelmä.cpl,3
  5. Suorita sisään komentorivi(cmd):
    SystemPropertiesAdvanced

Kuvattujen toimien tuloksena avataan "Järjestelmän ominaisuudet" -ikkuna ja valitaan "Lisäasetukset" -välilehti:

Sen jälkeen napsautamme "Käynnistys ja palautus" -osiossa, valitse "Asetukset" ja avaa siten uusi ikkuna nimeltä "Lataa ja palautus":

Kaikki kaatumisvedosparametrit on ryhmitelty parametrilohkoon nimeltä "Järjestelmävika". Tässä lohkossa voimme asettaa seuraavat parametrit:

  1. Kirjoita tapahtumat järjestelmälokiin.
  2. Suorita automaattinen uudelleenkäynnistys.
  3. Viankorjaustietojen tallentaminen.
  4. Vedä tiedosto.
  5. Korvaa olemassa oleva vedostiedosto.

Kuten näet, monet luettelon parametreista ovat melko triviaaleja ja helposti ymmärrettäviä. Haluaisin kuitenkin tarkentaa "Dump File" -parametria. Parametri esitetään avattavana luettelona ja sillä on neljä mahdollista arvoa:

Pieni muistin tyhjennys

Pieni muistivedos (minidump) on tiedosto, joka sisältää pienimmän määrän tietoa viasta. Pienin kaikista mahdollisista muistivedoksista. Ilmeisistä haitoista huolimatta minidumpeja käytetään usein tietoina epäonnistumisista, jotka siirretään kolmannen osapuolen ajurien toimittajille myöhempää tutkimusta varten.
Yhdiste:

  • Virheviesti.
  • Virhearvo.
  • Virheparametrit.
  • Suoritinkonteksti (PRCB), jossa virhe tapahtui.
  • Prosessitiedot ja ytimen konteksti (EPROCESS) kaatumisprosessille ja kaikille sen säikeille.
  • Käsittele kaatumisen aiheuttavan säikeen tiedot ja ytimen konteksti (ETHREAD).
  • Ydintilan pino kaatumisen aiheuttaneelle säikeelle.
  • Luettelo ladatuista ohjaimista.

Majoitus: %SystemRoot%\Minidump\MMDDYY-XXXXX-NN.dmp. Jos KKPPYY on vastaavasti kuukausi, päivä ja vuosi, NN on kaatopaikan sarjanumero.
Äänenvoimakkuus: Koko riippuu käyttöjärjestelmän bittimäärästä: 32-bittiselle käyttöjärjestelmälle tarvitaan vain 128 kilotavua ja 64-bittiselle käyttöjärjestelmälle 256 kilotavua sivutustiedostossa (tai DedicatedDumpFile-tiedostossa määritetyssä tiedostossa). Koska emme voi asettaa niin pientä kokoa, pyöristämme sen 1 megatavuun.

Ytimen muistivedos

Tämän tyyppinen vedos sisältää kopion kaikesta ytimen muistista kaatumisen hetkellä.
Yhdiste:

  • Luettelo käynnissä olevista prosesseista.
  • Nykyisen säikeen tila.
  • Ydintilan muistisivut, jotka olivat fyysisessä muistissa kaatumisen hetkellä: ydintilan ajurimuisti ja ydintilan ohjelmamuisti.
  • Hardware-dependent level (HAL) muisti.
  • Luettelo ladatuista ohjaimista.

Ytimen muistivedostiedostosta puuttuu varaamattomia muistisivuja ja käyttäjätilan sivuja. Hyväksy, on epätodennäköistä, että käyttäjätilan prosessisivut kiinnostaisivat meitä järjestelmävian aikana (BugCheck), koska järjestelmävika johtuu yleensä ydintilan koodista.

Koko: Vaihtelee käyttöjärjestelmän varaaman ytimen osoitetilan koon ja ydintilan ohjainten lukumäärän mukaan. Tyypillisesti noin kolmasosa fyysisestä muistista tarvitaan sivutustiedostossa (tai DedicatedDumpFile-tiedostossa määritetyssä tiedostossa). Voi vaihdella.

Täydellinen muistin tyhjennys

Täysi muistivedos sisältää kopion kaikesta fyysisestä muistista (RAM) vikahetkellä. Näin ollen koko järjestelmämuistin sisältö sisällytetään tiedostoon. Tämä on sekä etu että suuri haitta, koska sen koko voi olla merkittävä joissakin palvelimissa, joissa on paljon RAM-muistia.
Yhdiste:

  • Kaikki "näkyvän" fyysisen muistin sivut. Tämä on melkein koko järjestelmämuisti, lukuun ottamatta laitteiston käyttämiä alueita: BIOS, PCI-tila jne.
  • Tiedot prosesseista, jotka olivat käynnissä järjestelmässä vian tapahtuessa.
  • Fyysisen muistin sivut, joita ei ole yhdistetty virtuaaliseen osoiteavaruuteen, mutta jotka voivat auttaa vian syyn selvittämisessä.

Oletusarvoisesti täysi muistivedos ei sisällä BIOSin käyttämiä fyysisen muistin alueita.
Sijainti: %SystemRoot%\MEMORY.DMP . Edellinen vedos kirjoitetaan päälle.
Volume: Sivutustiedosto (tai DedicatedDumpFile-tiedostossa määritetty tiedosto) vaatii fyysisen muistin koon + 257 megatavua vastaavan määrän (nämä 257 Mt on jaettu tiettyyn otsikkoon + ohjaintietoihin). Itse asiassa joissakin käyttöjärjestelmissä sivutustiedoston alempi kynnys voidaan asettaa täsmälleen fyysisen muistin koon arvoon.

Automaattinen muistin tyhjennys

Windows 8/Windows Server 2012:sta alkaen järjestelmään on lisätty uusi vedostyyppi nimeltä Automaattinen muistivedos, joka on asetettu oletustyypiksi. Tässä tapauksessa järjestelmä itse päättää, mikä muistivedos tallentaa tietyn vian sattuessa. Lisäksi valinnan logiikka riippuu monista kriteereistä, mukaan lukien käyttöjärjestelmän kaatumisen taajuus.

Kun olet muuttanut Windowsin muistivedosmääritystä, saatat joutua käynnistämään tietokoneesi uudelleen.

Rekisterin asetukset

Rekisteriosio, joka määrittää kaatumisvedosparametrit:

HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\CrashControl

Vaihtoehdot:

Parametri Tyyppi Kuvaus
Automaattinen uudelleenkäynnistys REG_DWORD Ota käyttöön tai poista käytöstä automaattinen uudelleenkäynnistys, kun BSOD tapahtuu.
CrashDumpEnabled REG_DWORD Luotavan kaatopaikan tyyppi.
  • 0 - älä luo muistivedosta;
  • 1 - täydellinen muistivedos;
  • 2 - ytimen muistivedos;
  • 3 - pieni muistivedos;
DumpFile REG_EXPAND_SZ Ytimen muistivedoksen ja täyden muistivedoksen polku ja nimi.
DumpFilters REG_MULTI_SZ Ohjainsuodatin muistivedosohjainpinossa. Voit lisätä uusia toimintoja kaatuvien kaatopaikkojen luomisvaiheessa. Esimerkiksi vedosten sisällön salaaminen. Arvon muuttaminen ei ole suositeltavaa.
LogEvent REG_DWORD Tapahtuman tallentaminen järjestelmälokiin.
MinidumpDir REG_EZPAND_SZ Pienen muistivedoksen polku ja nimi.
MinidumpsCount REG_DWORD Pienten muistivedosten enimmäismäärä. Kun ylittyy, vanhemmat versiot alkavat ylikirjoittaa.
Korvaa REG_DWORD Korvaa olemassa oleva vedostiedosto. Vain ytimen muistivedos ja täyden muistin vedos.
IgnorePagefileSize REG_DWORD Ohittaa tavallisen sivutiedoston tilapäisen (välitason) muistivedostallennuspaikkana. Osoittaa, että muistivedos tulee kirjoittaa erilliseen tiedostoon. Käytetään yhdessä DedicatedDumpFile-vaihtoehdon kanssa.
DedicatedDumpFile REG_EZPAND_SZ Väliaikaisen vaihtoehtoisen tiedoston polku ja nimi muistivedosten tallentamista varten. Toisessa ajossa tiedot siirretään edelleen DumpFile/MinidumpDir-kansioon.

Muistivedosten luominen manuaalisesti

Yllä kuvasimme asetukset järjestelmän kaatumisvedosten automaattiselle luomiselle kriittisen virheen, eli käsittelemättömän poikkeuksen sattuessa ydinkoodissa. Mutta sisään oikea elämä, käyttöjärjestelmän kaatumisen lisäksi on tilanteita, joissa on tarpeen hankkia järjestelmän muistivedos tiettynä ajankohtana. Kuinka olla tässä tapauksessa? On olemassa menetelmiä tilannevedoksen saamiseksi kaikesta fyysisestä muistista, esimerkiksi käyttämällä .dump-komentoa WinDbg/LiveKD-debuggereissa. LiveKD on ohjelma, jonka avulla voit suorittaa Kd-ytimen debuggerin käynnissä olevassa järjestelmässä paikallisessa tilassa. WinDbg-debuggerissa on myös samanlainen ominaisuus. On-the-fly dump -menetelmä ei kuitenkaan ole tarkka, koska tässä tapauksessa luotu vedos on "epäjohdonmukainen", koska vedosten luominen vie aikaa, ja jos käytetään ydintilan debuggeria, järjestelmä jatkaa toimintaansa ja tekee muutoksia muistisivuille.

Kaikki Windows-järjestelmät, kun kohtalokas virhe havaitaan, tekevät kaatumisvedoksen (snapshot) RAM-muistin sisällöstä ja tallentavat sen HDD. Muistivedoksia on kolmenlaisia:

Full memory dump – tallentaa koko RAM-muistin sisällön. Kuvan koko on yhtä suuri kuin RAM-muistin koko + 1 MB (otsikko). Erittäin harvoin käytetty, koska järjestelmissä, joissa on paljon muistia, vedoskoko on liian suuri.

Ytimen muistivedos – tallentaa vain ydintilaan liittyvät RAM-tiedot. Käyttäjätilan tietoja ei tallenneta, koska ne eivät sisällä tietoja järjestelmän kaatumisen syystä. Dump-tiedoston koko riippuu RAM-muistin koosta ja vaihtelee 50 Mt:sta (järjestelmille, joissa on 128 Mt RAM) 800 Mt:iin (järjestelmille, joissa on 8 Gt RAM-muistia).

Pieni muistivedos (mini dump) - sisältää melko pienen määrän tietoa: virhekoodin parametreineen, luettelon RAM-muistiin ladatuista ohjaimista järjestelmän kaatumisen aikana jne., mutta nämä tiedot riittävät viallisen ohjaimen tunnistamiseen. . Toinen tämän tyyppisen dumpin etu on pieni tiedostokoko.

Järjestelmän asennus

Sen aiheuttaneen ohjaimen tunnistamiseksi riittää, että käytämme pientä muistivedosta. Jotta järjestelmä voi tallentaa minikaappauksen kaatumisen aikana, sinun on suoritettava seuraavat vaiheet:

Windows Xp:lle Windows 7:lle
  1. Tietokoneeni Ominaisuudet
  2. Siirry välilehdelle Lisäksi;
  3. Vaihtoehdot;
  4. Kentällä Virheenkorjaustietojen kirjoittaminen valita Pieni muistivedos (64 kt).
  1. Napsauta kuvaketta hiiren kakkospainikkeella Tietokone valitse pikavalikosta Ominaisuudet(tai Win+Pause-näppäinyhdistelmä);
  2. Napsauta vasemmanpuoleisessa valikossa kohdetta Järjestelmän lisäasetukset;
  3. Siirry välilehdelle Lisäksi;
  4. Napsauta painiketta Lataa ja palautus -kentässä Vaihtoehdot;
  5. Kentällä Virheenkorjaustietojen kirjoittaminen valita Pieni muistivedos (128 kt).

Kun kaikki käsittelyt on suoritettu, jokaisen BSoD:n jälkeen tiedosto, jonka tunniste on .dmp, tallennetaan kansioon C:\WINDOWS\Minidump. Suosittelen lukemaan materiaalin "". Voit myös valita ruudun " Korvaa olemassa oleva vedostiedosto" Tässä tapauksessa jokainen uusi törmäysvedos kirjoitetaan vanhan päälle. En suosittele tämän vaihtoehdon ottamista käyttöön.

Kaatumisvedosten analysointi BlueScreenView'n avulla

Joten Blue Screen of Deathin ilmestymisen jälkeen järjestelmä tallensi uuden kaatumismuistin. Vedon analysoimiseksi suosittelen BlueScreenView-ohjelman käyttöä. Sen voi ladata ilmaiseksi. Ohjelma on varsin kätevä ja siinä on intuitiivinen käyttöliittymä. Asennuksen jälkeen ensimmäinen asia, joka sinun on tehtävä, on määrittää muistivedosten tallennuspaikka järjestelmässä. Voit tehdä tämän siirtymällä valikkokohtaan " Vaihtoehdot" ja valitse " Pitkälle kehittynytVaihtoehdot" Valitse valintanappi " LadataalkaentheseurataMini kaatopaikkakansio” ja määritä kansio, johon kaatopaikat on tallennettu. Jos tiedostot on tallennettu C:\WINDOWS\Minidump-kansioon, voit napsauttaa " Oletus" Napsauta OK ja siirry ohjelman käyttöliittymään.

Ohjelma koostuu kolmesta päälohkosta:

  1. Päävalikkolohko ja ohjauspaneeli;
  2. Crash dump luettelo estää;
  3. Valituista parametreista riippuen se voi sisältää:
  • luettelo kaikista RAM-muistissa olevista ohjaimista ennen sinisen näytön ilmestymistä (oletusarvoisesti);
  • luettelo RAM-pinossa sijaitsevista ohjaimista;
  • BSoD-kuvakaappaus;
  • ja muita arvoja, joita emme käytä.

Valitse muistivedosluettelolohkosta (merkitty kuvassa numerolla 2) meitä kiinnostava dump ja katso luetteloa RAM-muistiin ladatuista ohjaimista (merkitty kuvassa numerolla 3). Muistipinossa olleet ajurit ovat vaaleanpunaisia. Ne ovat BSoD:n syy. Siirry seuraavaksi ohjaimen päävalikkoon ja määritä, mihin laitteeseen tai ohjelmaan ne kuuluvat. Ensinnäkin kiinnitä huomiota järjestelmätiedostot, koska järjestelmätiedostot ladataan joka tapauksessa RAM-muistiin. On helppo nähdä, että kuvan viallinen ohjain on myfault.sys. Sanon, että tämä ohjelma käynnistettiin erityisesti Stop-virheen aiheuttamiseksi. Kun viallinen ohjain on tunnistettu, sinun on joko päivitettävä se tai poistettava se järjestelmästä.

Jotta ohjelma voisi näyttää luettelon muistipinossa olevista ohjaimista, kun BSoD tapahtuu, sinun on siirryttävä valikkokohtaan " Vaihtoehdot"klikkaa valikkoa" AlempiPanetila" ja valitse " VainKuljettajatLöytyiSisäänPino" (tai paina F7-näppäintä) ja näyttää kuvakaappaus virheestä valitsemalla " SininenNäyttösisäänXPTyyli” (F8). Palataksesi kaikkien ohjainten luetteloon, sinun on valittava " KaikkiKuljettajat” (F6).




Yläosa