Megosztás a következőn keresztül:


Hibakereső környezetek

Hat hibakeresési környezet érhető el:

  • WinDbg
  • WinDbg (klasszikus)
  • Kernel-hibakereső (KD)
  • NTKD
  • Konzol hibakeresője (CDB)
  • NT szimbolikus hibakereső (NTSD)

A következő szakaszok a hibakeresési környezeteket ismertetik.

WinDbg

A WinDbg a WinDbg legújabb verziója modern vizualizációkkal, gyorsabb ablakokkal és teljes körű szkriptelési felülettel, amely a bővíthető hibakereső adatmodell elő- és középverziójával készült. A WinDbg ugyanazt a mögöttes motort használja, mint a WinDbg (klasszikus), így a használt parancsok, bővítmények és munkafolyamatok továbbra is ugyanúgy működnek, mint korábban.

További információ: WinDbg-szolgáltatások

WinDbg (klasszikus)

A Microsoft Windows Debugger WinDbg (klasszikus) egy Windows-alapú hibakereső, amely képes felhasználói és kernel módú hibakeresésre is. A WinDbg hibakeresést biztosít a Windows-kernelhez, a kernelmódú illesztőprogramokhoz és a rendszerszolgáltatásokhoz, valamint a felhasználói módú alkalmazásokhoz és illesztőprogramokhoz.

A WinDbg a Visual Studio hibakeresési szimbólumformátumát használja a forrásszintű hibakereséshez. Bármilyen szimbólumhoz vagy változóhoz hozzáférhet egy OLYAN modulból, amely PDB-szimbólumfájlokkal rendelkezik, és hozzáférhet a COFF-szimbólumfájlokkal (például Windows .dbg-fájlokkal) összeállított modulok által közzétett nyilvános függvények nevéhez.

A WinDbg megtekintheti a forráskódot, beállíthatja a töréspontokat, megtekintheti a változókat (beleértve a C++ objektumokat), a veremkövetéseket és a memóriát. A Hibakereső parancs ablaka lehetővé teszi, hogy a felhasználó számos parancsot adjon ki.

A kernel módú hibakereséshez a WinDbg általában két számítógépet (a gazdaszámítógépet és a célszámítógépet) igényel. A WinDbg különböző távoli hibakeresési lehetőségeket is támogat a felhasználói és a kernel módú célokhoz.

A WinDbg a CDB/NTSD és a KD/NTKD grafikus felületének megfelelője.

KD

A Microsoft Kernel Debugger (KD) egy karakteralapú konzolprogram, amely lehetővé teszi a kernel módú tevékenységek részletes elemzését az összes NT-alapú operációs rendszeren. A KD használatával hibakeresést végezhet a kernel módú összetevők és illesztőprogramok között, vagy figyelheti magát az operációs rendszer viselkedését. A KD támogatja a többprocesszoros hibakeresést is.

A KD általában nem fut a hibakeresés alatt álló számítógépen. A kernel módú hibakereséshez két számítógépre (a gazdaszámítógépre és a célszámítógépre) van szükség.

NTKD

Az NTKD nevű KD-hibakeresőnek van egy változata. Minden szempontból megegyezik a KD-vel, azzal a kivételrel, hogy az indításkor új szövegablakot hoz létre, míg a KD örökli azt a parancssori ablakot, amelyből meghívták.

CDB

A Microsoft Console Debugger (CDB) egy karakteralapú konzolprogram, amely lehetővé teszi a Windows felhasználói módú memóriájának és szerkezeteinek alacsony szintű elemzését. A Console Debugger név azt jelzi, hogy a CDB konzolalkalmazásként van besorolva; ez nem jelenti azt, hogy a célalkalmazásnak konzolalkalmazásnak kell lennie. Valójában a CDB teljes mértékben képes a konzolalkalmazások és a grafikus Windows-programok hibakeresésére.

A CDB rendkívül hatékony egy olyan program hibakereséséhez, amely jelenleg fut vagy nemrég összeomlott (élő elemzés), de egyszerűen beállítható. Egy működő alkalmazás viselkedésének vizsgálatára használható. Sikertelen alkalmazás esetén a CDB használható veremkövetés beszerzésére vagy a hibás paraméterek megtekintésére. Jól működik a hálózaton (távelérési kiszolgáló használatával), mivel karakteralapú.

A CDB-vel megjelenítheti és végrehajthatja a programkódot, töréspontokat állíthat be, valamint megvizsgálhatja és módosíthatja a memóriában lévő értékeket. A CDB képes elemezni a bináris kódot a szétszerelésével és a szerelvény utasításainak megjelenítésével. Közvetlenül is elemezheti a forráskódot.

Mivel a CDB címeken vagy globális szimbólumokon keresztül férhet hozzá a memóriahelyekhez, az adatokra és utasításokra nem cím, hanem név alapján hivatkozhat, így könnyen megtalálhatja és hibakeresésre használhatja a kód adott szakaszait. A CDB több szál és folyamat hibakeresését támogatja. Bővíthető, és képes a lapozott és a nem lapozott memória olvasására és írására is.

Ha a célalkalmazás maga egy konzolalkalmazás, a cél megosztja a konzolablakot a CDB-vel. Ha külön konzolablakot szeretne létrehozni egy célkonzolalkalmazáshoz, használja a -2 parancssori lehetőséget.

NTSD

A CDB-hibakeresőnek van egy Microsoft NT Symbolic Debugger (NTSD) nevű változata. Minden szempontból megegyezik a CDB-vel, azzal a kivételrel, hogy az indításkor új szövegablakot hoz létre, míg a CDB örökli azt a parancssori ablakot, amelyből meghívták.

Mivel a start parancs egy új konzolablak létrehozására is használható, a következő két konstrukció ugyanazt az eredményt adja:

start cdb parameters
ntsd parameters

A bemenetet és a kimenetet átirányíthatja az NTSD-ből (vagy CDB-ből), hogy egy kernel-hibakeresőből (Visual Studióból, WinDbg-ből vagy KD-ből) vezérelhető legyen. Ha ezt a technikát használja az NTSD-vel, a konzolablak egyáltalán nem jelenik meg. Az NTSD kernel-hibakeresőből való vezérlése ezért különösen hasznos, mivel rendkívül egyszerű hibakeresőt eredményez, amely szinte semmilyen terhet nem ró a célalkalmazást tartalmazó számítógépre. Ez a kombináció a rendszerfolyamatok, a leállítás és a rendszerindítás későbbi szakaszainak hibakeresésére használható. A részletekért lásd a Kernel Hibakereső-ből a User-Mode Hibakereső vezérlését.

Lásd még:

Windows hibakeresési

WinDbg-szolgáltatások