Windows - Memória dump fájl ellenőrzése

forráskód letöltése
A Windows 2000 és XP operációs rendszerek Support Tools eszközei között találhatunk egy alkalmazást, amellyel ellenőrizni lehet a memóriakép-állományok helyességét. Cikkünkben bemutatjuk az eszközt, és példát látunk egy ellenőrzési eredményre.
A Dumpchk parancssori eszköz segítségével ellenőrizni lehet, hogy helyesen jött-e létre a memória dump állomány. Ez az eszköz a Windows XP/2000 support tools része.
Memória dump állományt úgy tudunk készíteni, ha a rendszertulajdonságok ablakot megnyitjuk (Windows billentyű + Pause) és a Speciális lapon az Indítás és helyreállítás panelen a Beállítás menüpontra kattintunk. Itt tudjuk beállítani, hogy rendszerhiba esetén a számítógép a memóriaképet egy fájlba mentse.
A dumpchk az alábbi opciókkal rendelkezik:
Dumpchk [opciók] <dumpfájl>
  • -?: Help megjelenítése.
  • -p: Csak a fejlécet jeleníti meg.
  • -v: Részletező mód beállítása.
  • -q: Gyorstesztet kezdeményez (Windows XP-n nem elérhető).
Az alábbi opciók csak Windows XP-n elérhetők:
  • -c: Dump érvényesítést végez.
  • -x: Extra fájl érvényesítés; több percig eltart.
  • -e: Dump vizsgálatot végez.
  • -y <path>: Beállítja a szimbólumkeresési utat a dump vizsgálatához. Ha az út üres, akkor a CD-ROM-ot használja a szimbólumokhoz.
  • -b <path>: Beállítja az image keresési utat a dump vizsgálatához. Ha az út üres, akkor a %SystemRoot%\System32-t használja a szimbólumokhoz.
  • -k <file>: Beállítja a kernel nevét a fájlhoz.
  • -h <file>: Beállítja a HAL nevét a fájlhoz.
Az alkalmazáshoz szükséges fájlok:
  • Dumpchk.exe
  • Kdextx86.dll
  • Msdis110.dll
A Dumpchk megjelenít néhány alapvető információt a memória dump fájlhoz, és ellenőriz minden virtuális és fizikai címet a fájlban. Ha hibát talál, akkor megjeleníti azt. A mellékletben példát láthatunk a Dumpchk kimenetére.
Az alábbi példa tartalmaz egy részletet a kimenet leglényegesebb információiról:
MachineImageType i386
NumberProcessors 1
BugCheckCode 0xc000021a
BugCheckParameter1 0xe1270188
BugCheckParameter2 0x00000001
BugCheckParameter3 0x00000000
BugCheckParameter4 0x00000000
ExceptionCode 0x80000003
ExceptionFlags 0x00000001
ExceptionAddress 0x8014fb84 
Megjegyezzük, hogy nem minden esetben kapunk ilyen információt. Ez függ a leállási kód fajtájától. A fenti információ mutatja a leállási kódot (0xc000021a) és a paramétereket (0xe1270188, 0x00000001, 0x00000000, 0x00000000), valamint a meghajtó címét, amely meghívta a kivételt (0x8014fb84). Ez a cím arra használható, hogy azonosítsuk a driver nevét, felhasználva a Pstat.exe kimenetét, amely a Resource Kit eszköze. Ha futtatjuk, akkor az aktuálisan futó meghajtókról információkat jelenít meg. A megjelenített listában meg kell keresnünk a dump fájlból származó címet, és az így megtalált driver felelős a leállásért.
Pstat > filenév
A memóriában található driver-ek listáját egy megadott fájlba menthetjük.
Ha a kimenetben bárhol hibát látunk, akkor a dump sérült, és az analízis nem történt meg.