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


Ismerkedés a Windows hibakeresésével

Ez a cikk bemutatja, hogyan kezdheti el a Windows hibakeresését 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

Jegyzet: Ha inkább egy összeomlási memóriaképet szeretne elemezni, olvassa el az Összeomlási memóriaképek elemzése a WinDbg használatával című témakört.

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

1. A Windows Hibakereső telepítése

Telepítse a WinDbg-t a 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

A hibakereséshez általában két különálló számítógépes rendszert használnak, mivel a processzoron az utasítások végrehajtása általában szünetel a folyamat során. 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ép második rendszerként is használható. 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 meg kell határoznia, hogy kernel módú 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. A 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 az automatizáláshoz vagy a Visual Studióhoz. 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

Attól függ, hogy 32 bites vagy 64 bites hibakeresőre van-e szüksége, attól függ, hogy a Windows melyik verzióját futtatja a cél- és gazdarendszereken, és hogy 32 bites vagy 64 bites kódot keres-e. 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ó: Windows hibakeresési szimbólumok.

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ése, a KMDF-hibakeresés és az RPC-hibakeresés.

11. A hibakereső referenciaparancsainak használata

A hibakeresőben végzett munka során különböző hibakeresési parancsokat használhat. 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

A tartományspecifikus adatstruktúrák elemzéséhez több hibakeresési bővítményt is használhat. 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ő rendszerekről. Ha többet szeretne megtudni a Windows belső elemeiről, beleértve a memóriahasználatot, a kontextust, a szálakat és a folyamatokat, áttekintheti az olyan erőforrásokat, mint a Windows Internals by 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:

  • Windowson belüli hibakeresés: Gyakorlati hibakeresési és nyomkövetési stratégiák tarik soulami által
  • Mario Hewardt és Daniel Pravat speciális Windows-hibakeresési
  • 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ó: