hibakereső eszközök ablakokhoz

A hibakeresés Tools for Windows csomag tartalmazza a fejlett hibakereső eszközöket, amelyek segítségével, hogy vizsgálja meg a belső szerkezete a Windows. A legújabb verzió tartalmazza részeként egy sor szoftver fejlesztés - a Windows Software Development Kit (SDK).

Alapok ebből meg lehet használni hibakeresés, mint a felhasználói módú folyamatok és kernel folyamatokat.

Megjegyzés. Hibakeresés Tools for Windows hibakereső eszközök gyakran frissítik, és függetlenül attól, hogy a Windows operációs rendszer, így érdemes gyakran az új verziók.

TIP. Hibakeresés felhasználói módban.

Hibakereső eszközök is használhatók, hogy csatlakozzon a felhasználói módú folyamat, és vizsgálja meg, és (vagy) módosíthatja a memória állapotát a folyamat. Amikor csatlakozik a folyamat két lehetőség van:

  • Kényszeres (invazív). Ha csatlakozni egy futó folyamat nem adott különleges utasításokat, hogy csatlakoztassa a hibakereső kódot hibakeresést a Windows-funkció DebugActiveProcess. Így feltételeinek megteremtése a kutatás és (vagy) változások a folyamat memória, töréspont, illetve egyéb hibakeresés jellemzői. A Windows lehetővé teszi, hogy hagyja abba a hibakeresés megszakítása nélkül a cél folyamat, ha a hibakereső van tiltva megszakítása nélkül munkájukat.
  • Diszkrét (invazív). E lehetőség szerint a hibakereső megnyílt egy másik eljárás OpenProcess funkciót. Ez a folyamat nem csatlakozik egy másik folyamat, mint egy debugger. Ez lehetővé teszi, hogy vizsgálja meg, és (vagy) módosíthatja a célzott folyamat memóriát, de nem töréspont.

A hibakereső eszközök, akkor is nyit egy memóriaképfájlt a felhasználói módban.

egy parancssori ablakot (KD.exe), és miután GUI grafikus felhasználói felület (Windbg.exe): két debugger is használható a hibakeresés a kernel. Mindkét hibakereső ugyanazt utasításkészlet, így a választás attól függ a személyes preferencia. Ezek az eszközök lehetővé teszik, hogy végre három kernel hibakereső:

  • Nyílt gépünkben fájl eredményeként jön létre a rendszer összeomlik.
  • Csatlakozás a meglévő operációs rendszert, és fedezze fel az állam a rendszer (vagy töréspont, amikor hibakeresés eszközmeghajtó-kód). Ehhez a művelethez szükség van két számítógép - a cél és a fogadó. A cél számítógépben hibamentesített a rendszer, és az ólom - a rendszer, amelyen a hibakereső elindul. A célrendszer lehet csatlakoztatni a fogadó keresztül null modem kábel, IEEE 1394 kábellel vagy USB 2.0 hibakereső kábelt. A célrendszer kell csizmás debug módban (vagy nyomja meg az F8 a rendszerindítási folyamat során, és válassza ki a Debug mód (hibakeresés módban), vagy a rendszer beállításait fut debug módban, Bcdedit vagy Msconfig.exe). Az is lehetséges, hogy keresztül csatlakozik egy megnevezett csatorna használható, ha hibakeresés keresztül a virtuális gép (által létrehozott eszközökkel, például a Hyper-V, a Virtual PC vagy a VMWare), által kiállító a vendég operációs rendszer soros porton felirattal csatorna eszköz.
  • A Windows rendszerek is csatlakozhat a helyi rendszer és vizsgálja az állapotát. Ez az úgynevezett „helyi kernel hibakereső”. Indításához helyi kernel hibakereső segítségével WinDbg debugger, nyissa meg a Fájl menüt (File), kattintson a Kernel Debug (Kernel hibakeresés), kattintson a lap a Local (helyi), majd az OK gombra. A célrendszer kell betölteni a debug módban. Példa jelenik meg, ha ez a képernyő ábrán látható. 1.6. A helyi kernel hibakereső mód nem működik, néhány kernel hibakereső parancs (például .dump parancs, amivel memóriakiíratás, bár egy ilyen lerakó segítségével lehet létrehozni a jelentési eszköz továbbá LiveKd).

hibakereső eszközök ablakokhoz
A helyi kernel hibakereső

Jelenítse meg a tartalmát a belső adatszerkezet információkat tartalmaz szálak, folyamatok csomagok adatkérések bemenet és kimenet, valamint információt memória kezelése, csatlakoztatás után a kernel módú hibakeresés, akkor az egyik a sok kiterjesztés hibakereső parancsok (parancs, hogy kezdődik „!” Jel ).

Kiváló közüzemi referencia anyag szolgálhat Debugger.chm fájlban található telepítési mappában WinDbg debugger. Ez dokumentációja megtalálható a funkcionalitás és a fejlesztések a kernel debugger. Amellett, hogy ez a csapat dt (kijelző típusa - a megjelenítés) lehet formázni több mint 1000 kernel struktúrák miatt a kernel szimbólum fájlok a Windows tájékoztatást nyújt a fajta, hogy a debugger is használható formátumban szerkezetek.

Kísérlet: Információkat jelenít meg a fajta kernel szerkezetek.

Ahhoz, hogy megjelenik egy lista a kernel struktúrák, amelyek típusa információ benne van a mag karaktert írja be a kernel hibakereső parancs dt nt! _ *. Részleges visszavonása a minta a következő:

Dt személyzet is használni keressen struktúrák rejlő e parancs segítségével lehetősége helyettesítő karaktereket. Például, ha keres a neve a szerkezet megszakítja tárgy, meg kell adnia a parancsot dt nt _ * megszakítás * !:

LKD> dt nt! _ * * megszakítás

Ezután, ahogy az a következő példában, tudjuk használni a parancsot formázására dt bizonyos szerkezetű:

LKD> dt nt! _kinterrupt

+0x000 típus. Int2B

+0x002 Méret. Int2B

+0x008 InterruptListEntry. _LIST_ENTRY

+0x018 ServiceRoutine. Ptr64 unsigned char

+0x020 MessageServiceRoutine. Ptr64 unsigned char

+0x028 MessageIndex. Uint4B

+0x030 ServiceContext. Ptr64 Void

+0x038 spinlock. Uint8B

+0x040 TickCount. Uint4B

+0x048 ActualLock. Ptr64 Uint8B

+0x050 DispatchAddress. Ptr64 void

+0x058 Vector. Uint4B

+0x05c IRQL. uchar

+0x05d SynchronizeIrql. uchar

+0x05e FloatingSave. uchar

+0x05f Connected. uchar

+0x060 száma. Uint4B

+0x064 ShareVector. uchar

+0x065 Pad. [3] Char

+0x068 mód. _KINTERRUPT_MODE

+0x06c polaritás. _KINTERRUPT_POLARITY

+0x070 ServiceCount. Uint4B

+0x074 DispatchCount. Uint4B

+0x078 RSVD1. Uint8B

+0x080 TrapFrame. Ptr64 _KTRAP_FRAME

+0x088 fenntartva. Ptr64 Void

+0x090 DispatchCode. [4] Uint4B

Meg kell jegyezni, hogy a parancs dt váz (struktúrák szerkezetek) nem alapértelmezés szerint megjelennek. Elvégzésére rekurzív vázak kell használni a -r gombot. Például használja ezt a gombot, hogy kiírja a megszakítás kernel objektum _LIST_ENTRY bemutató formátum szerkezet mezőjében tárolt InterruptListEntry:

LKD> dt nt! _kinterrupt -r

+0x000 típus. Int2B

+0x002 Méret. Int2B

+0x008 InterruptListEntry. _LIST_ENTRY

+0x000 Flink. Ptr64 _LIST_ENTRY

+0x000 Flink. Ptr64 _LIST_ENTRY

+0x008 Blink. Ptr64 _LIST_ENTRY

+0x008 Blink. Ptr64 _LIST_ENTRY

+0x000 Flink. Ptr64 _LIST_ENTRY

+0x008 Blink. Ptr64 _LIST_ENTRY

A Súgó fájlt Programellenôrzés Tools for Windows és elmagyarázza, hogyan kell beállítani és használni kernel hibakereső. További részleteket a kernel debugger, kifejezetten az eszközmeghajtó alkotók, megtalálható a dokumentációban a Windows Driver Kit készlet.

Kapcsolódó cikkek