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).
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.