Első lépések Windows hibakereséshez

Ez a cikk bemutatja, hogyan kezdheti el Windows hibakeresést a WinDbg és más hibakeresési eszközök használatával. Megtudhatja, hogyan:

  • Telepítse a hibakeresőt, és állítsa be a gazda- és célrendszereket.
  • A hibakeresési környezet konfigurálása
  • Alapvető hibakeresési technikák elsajátítása kernel módú és felhasználói módú forgatókönyvekhez

Megjegyzés:

Ha inkább egy hibamemóriaképet szeretne elemezni, olvassa el a memóriaképfájl adatainak kinyerése című témakört.

A Windows hibakeresés megkezdéséhez hajtsa végre az alábbi lépéseket.

1. Telepítse a Windows hibakeresőt

Telepítse a WinDbg-et Windows alkalmazások és illesztőprogramok hibakeresésének megkezdéséhez. A telepítés részletes lépéseit a WinDbg telepítése című témakörben találja.

2. A gazdagép és a célrendszerek azonosítása

Általában két különálló számítógépes rendszert használ a hibakereséshez, mivel a folyamat általában szünetelteti az utasítások végrehajtását a processzoron. A hibakereső a gazdagépen rendszeren fut, és a hibakereséshez használni kívánt kód a célrendszeren rendszeren fut.

Hoszt <--------------------------------------------------> Cél

Egy diagram képernyőképe, amely egy kettős nyíllal összekötött gazda- és cél hibakeresési rendszereket mutat be.

Bizonyos helyzetekben a virtuális gépet használhatja második rendszerként. Egy virtuális gép például ugyanazon a számítógépen futtatható, mint a hibakereséshez szükséges kód. Ha azonban a kód alacsony szintű hardverrel kommunikál, előfordulhat, hogy nem a legjobb módszer a virtuális gép használata. További információ: Virtuális gépek hálózati hibakeresésének beállítása – KDNET.

3. A hibakereső típusának meghatározása: kernel mód vagy felhasználói mód

Ezután határozza meg, hogy kernelmódot vagy felhasználói módú hibakeresést szeretne-e használni.

  • Az operációs rendszer és a kiemelt programok kernel módban futnak. A kernel módú kód rendelkezik hozzáféréssel a rendszer bármely részéhez, és nincs korlátozva, mint a felhasználói módú kód. A kernel módú kód bármely más, felhasználói vagy kernel módban futó folyamat bármely részét elérheti. Az operációs rendszer alapvető funkcióinak nagy része és számos hardvereszköz-illesztőprogram kernel módban fut.

  • A számítógépen futó alkalmazások és alrendszerek felhasználói módban futnak. A felhasználói módban futó folyamatok ezt a saját virtuális címterükön belül hajtják végre. A rendszer számos részéhez, például a rendszer hardveréhez, a nem a használatukhoz lefoglalt memóriához, valamint a rendszer más részeihez való közvetlen hozzáféréstől korlátozottak, amelyek veszélyeztethetik a rendszer integritását. A felhasználói módban futó folyamatok hatékonyan el vannak különítve a rendszertől és más felhasználói módú folyamatoktól, így nem zavarhatják ezeket az erőforrásokat.

Ha a cél egy illesztőprogram hibakeresése, állapítsa meg, hogy az illesztőprogram kernel módú vagy felhasználói módú illesztőprogram-e. Windows illesztőprogram-modell (WDM) illesztőprogramjai és Kernel-Mode illesztőprogram-keretrendszer (KMDF) egyaránt kernel módú illesztőprogramok. Ahogy a neve is sugallja, User-Mode illesztőprogram-keretrendszer (UMDF) illesztőprogramjai felhasználói módú illesztőprogramok.

Bizonyos problémák esetén nehéz lehet meghatározni, hogy a kód melyik módban fut. Ebben az esetben előfordulhat, hogy ki kell választania egy módot, és látnia kell, hogy milyen információk érhetők el ebben a módban. Bizonyos problémák esetén a hibakeresőt felhasználói és kernel módban is használni kell.

A hibakeresési módtól függően előfordulhat, hogy különböző módokon kell konfigurálnia és használnia a hibakeresőket. Egyes hibakeresési parancsok mindkét módban ugyanúgy működnek, és egyes parancsok eltérően működnek.

A kernel módú hibakeresés következő lépései

A felhasználói módú hibakeresés következő lépései

4. Válassza ki a hibakereső környezetet

A WinDbg hibakereső a legtöbb helyzetben jól működik, de előfordulhat, hogy egy másik hibakeresőt szeretne használni, például a konzol hibakeresőit automatizáláshoz vagy Visual Studio. További információ: Hibakeresési környezetek.

5. A cél és a gazdagép csatlakoztatásának meghatározása

A cél- és gazdarendszereket általában Ethernet-hálózattal csatlakoztatja. Ha korai üzembe helyezésen dolgozik, vagy nincs Ethernet-kapcsolata egy eszközön, más hálózati kapcsolati lehetőségek is rendelkezésre állnak. További információkért tekintse meg az alábbi cikkeket:

6. Válasszon 32 bites vagy 64 bites hibakeresési eszközöket

Az, hogy 32 bites vagy 64 bites hibakeresőre van szüksége, attól függ, hogy a cél- és gazdarendszereken milyen Windows verzió fut, és hogy 32 bites vagy 64 bites kódot hibakeres. További információ: 32 bites vagy 64 bites hibakereső eszközök kiválasztása.

7. Szimbólumok konfigurálása

A WinDbg által biztosított összes speciális funkció használatához be kell töltenie a megfelelő szimbólumokat. Ha nem konfigurálja megfelelően a szimbólumokat, olyan üzeneteket kap, amelyek jelzik, hogy a szimbólumok nem érhetők el, amikor szimbólumoktól függő funkciókat próbál használni. További információért lásd: Symbols for Windows debugging.

8. Forráskód konfigurálása

Ha a cél a saját forráskód hibakeresése, konfigurálnia kell a forráskód elérési útját. További információ: Forrásútvonal.

9. Ismerkedjen meg a hibakereső művelettel

A dokumentáció Hibakereső művelet szakasza a különböző feladatok hibakereső műveletét ismerteti. Például Naplófájl megőrzése a WinDbg-ben azt ismerteti, hogyan írhat a WinDbg egy naplófájlt, amely rögzíti a hibakeresési munkamenetet.

10. Ismerkedjen meg a hibakeresési technikákkal

a legtöbb hibakeresési forgatókönyvre standard hibakeresési technikákat alkalmazni, és ilyenek például a töréspontok beállítása, a hívásverem vizsgálata és a memóriaszivárgás megkeresése. speciális hibakeresési technikákat alkalmazni bizonyos technológiákra vagy kódtípusokra. Ilyen például a Plug and Play hibakeresés, a KMDF-hibakeresés és az RPC-hibakeresés.

11. A hibakereső referenciaparancsainak használata

Használjon különböző hibakeresési parancsokat, miközben a hibakeresőben dolgozik. Ha segítségre van szüksége a hibakeresés során bármely parancshoz, használja a .hh parancsot, majd a parancs nevét.

Példák:

.hh bp # Get help on breakpoint commands
.hh k # Get help on call stack commands

Az elérhető parancsok teljes listáját a Hibakereső hivatkozásában találja.

12. Hibakeresési bővítmények használata adott technológiákhoz

Több hibakeresési bővítmény használata a tartományspecifikus adatstruktúrák elemzéséhez. További információ: Specializált bővítmények. A hibakereső bővítmények betöltéséről további információt a hibakereső bővítmény DLL-jeinek betöltése című témakörben talál.

Ez a dokumentáció feltételezi, hogy rendelkezik bizonyos ismeretekkel az alapvető Windows belső szolgáltatásokkal kapcsolatban. Ha többet szeretne megtudni a Windows belső működéséről, mint például a memóriahasználatot, a kontextust, a szálakat és a folyamatokat, tekintse át az olyan erőforrásokat, mint például a Windows Internals Pavel Yosifovich, Mark E. Russinovich, David A. Solomon és Alex Ionescu.

14. További hibakeresési erőforrások áttekintése

Egyéb források közé tartoznak a következő könyvek és videók:

  • Az Windows hibakeresés: Gyakorlati hibakeresési és nyomkövetési stratégiák által Tarik Soulami
  • Mario Hewardt és Daniel Pravat Windows hibakeresése
  • Defrag Tools videósorozat, 13-tól 29-ig terjedő epizódok, minden a WinDbg-ről szól

Következő lépések

A folytatáshoz válassza ki a hibakeresési módot:

Kernel módú hibakeresés (illesztőprogramokhoz és operációsrendszer-összetevőkhöz):

Felhasználói módú hibakeresés (alkalmazások esetén):

További beállítási útmutató: