Megjegyzés
Az oldalhoz való hozzáféréshez engedély szükséges. Megpróbálhat bejelentkezni vagy módosítani a címtárat.
Az oldalhoz való hozzáféréshez engedély szükséges. Megpróbálhatja módosítani a címtárat.
A KDbgCtrl (Kernel hibakeresési vezérlő, kdbgctrl.exe) eszközzel szabályozható a kernel hibakeresési kapcsolata a célszámítógépről.
Az eszköz használatához a célszámítógépnek Windows Server 2003-at vagy a Windows egy újabb verzióját kell futtatnia.
A KDbgCtrl öt különböző beállítást szabályozhat: teljes kernel-hibakeresés, automatikus kernel-hibakeresés, User-Mode hibakezelés, a kernel hibakeresésének blokkolása és a DbgPrint puffer mérete.
A KDbgCtrl használatához engedélyeznie kell a kernel hibakeresését a célszámítógép rendszerindítási beállításaiban az utolsó rendszerindítás előtt. A KDbgCtrl nem használható a kernel hibakeresésének engedélyezésére, ha ez nem történt meg. A rendszerindítási beállítások részleteiért tekintse meg a rendszerindítási paramétereket a hibakeresés engedélyezéséhez .
Teljes kernel-hibakeresés
Ha engedélyezve van a teljes kernel hibakeresése, a gazdaszámítógépen futó kernel-hibakeresők betörhetnek a célszámítógépre. A célszámítógép belép a kernel hibakereső módba, ha kernel módú kivételt észlel. A célról a gazdagépre irányuló üzenetek, például a DbgPrint kimenete, a szimbólumbetöltési üzenetek és az átirányított felhasználói módú hibakeresők is engedélyezettek.
Ha ez a beállítás le van tiltva, a cél figyelmen kívül hagyja a gazdaszámítógép összes jelét.
Alapértelmezés szerint a teljes kernel-hibakeresés engedélyezve van. Az aktuális beállítás értékének ellenőrzéséhez használja a kdbgctrl -c értéket. A beállítás letiltásához használja a kdbgctrl -d parancsot. A beállítás engedélyezéséhez használja a kdbgctrl -e parancsot.
Ha ellenőrizni szeretné az aktuális beállítást, és szeretné vezérelni a kötegelt fájlon belüli végrehajtást, használhatja a kdbgctrl -cx parancsot. A parancs részleteiért lásd: KDbgCtrl Command-Line Options.
Automatikus kernel-hibakeresés
Ha a teljes kernel hibakeresése engedélyezve van, az automatikus kernelkeresés jelenlegi beállítása nem lényegtelen – minden kommunikáció engedélyezett.
Ha a teljes kernel hibakeresése le van tiltva, és az automatikus kernel-hibakeresés engedélyezve van, csak a célszámítógép kezdeményezhet hibakeresési kapcsolatot.
Ebben az esetben csak egy kernelmódú kivétel, töréspont vagy más kernel módú esemény okoz kapcsolatot. A kapcsolat nem jön létre a DbgPrint-kimenethez, a szimbólumbetöltési üzenetekhez, az átirányított felhasználói módú hibakereső bemenethez és kimenethez, illetve más hasonló üzenetekhez – ezeket a DbgPrint pufferben tárolja a rendszer, nem pedig a kernel hibakeresőnek küldi.
Ha egy kivétel vagy esemény miatt a cél a kernel hibakeresőjébe kerül, akkor a teljes kernel hibakeresés automatikusan be lesz kapcsolva, ugyanúgy, mintha a kdbgctrl -e parancsot hajtotta volna végre.
Alapértelmezés szerint az automatikus kernelkeresés le van tiltva (bár ez nem lényegtelen, kivéve, ha a teljes kernel hibakeresése is le van tiltva). Az aktuális beállítás értékének ellenőrzéséhez használja a kdbgctrl -ca értéket. A beállítás letiltásához használja a kdbgctrl -da parancsot. A beállítás engedélyezéséhez használja a kdbgctrl -ea parancsot.
User-Mode hibakezelés
Ha a User-Mode hibakezelés engedélyezve van, egyes felhasználói módú események hatására a célszámítógép átlép a kernel hibakeresési programba.
Konkrétan az összes int 3 megszakítás – például a hibakereső által a kódba beszúrt töréspontok vagy a DbgBreakPoint hívásai – megszakítást okoznak a kernel hibakeresőben. A standard kivételeket ( például a hozzáférés-szabálysértéseket és a nullával való osztást ) azonban általában nem küldi el a rendszer a kernel-hibakeresőnek.
Ha egy felhasználói módú hibakereső már csatlakozik a folyamathoz, ez a hibakereső rögzíti az összes felhasználói módú hibát, és a rendszermag-hibakereső nem módosul. A különböző felhasználói módú hibakezelők rangsorolását lásd: Postmortem hibakeresés engedélyezése.
Ahhoz, hogy User-Mode hibakezelés működjön, a teljes kernel hibakeresését vagy az automatikus kernel-hibakeresést is engedélyezni kell.
User-Mode hibakezelés alapértelmezés szerint engedélyezve van. Az aktuális beállítás értékének ellenőrzéséhez használja a kdbgctrl -cu parancsot. A beállítás letiltásához használja a kdbgctrl -du parancsot. A beállítás engedélyezéséhez használja a kdbgctrl -eu parancsot.
Kernel hibakeresésének letiltása
Bizonyos esetekben érdemes lehet beállítani a célszámítógépet a kernel hibakereséséhez, de várja meg a kernel hibakeresését a célszámítógép elindítása után. Ezt a kernel hibakeresésének letiltásával teheti meg.
Fontos
Mielőtt a BCDEdit használatával megváltoztatja a rendszerindítási információkat, előfordulhat, hogy ideiglenesen fel kell függesztenie a Windows biztonsági funkcióit, például a BitLockert és a biztonságos rendszerindítást a tesztszámítógépen. Ha a tesztelés befejeződött, és megfelelően kezeli a tesztszámítógépet, a biztonsági funkciók letiltásakor engedélyezze újra ezeket a biztonsági funkciókat.
A kernel hibakeresésének letiltásához állítsa be a célszámítógépet az alábbi parancsokhoz hasonló parancsokkal:
bcdedit /debug on
bcdedit /dbgsettings 1394 channel:32 /start DISABLE /noumex
A célszámítógép újraindításakor a rendszer előkészíti a rendszermag hibakeresését, de a rendszermag hibakeresése és User-Mode hibakezelés le lesz tiltva. Ezen a ponton a gazdaszámítógép nem tud csatlakozni a célszámítógéphez, a hibaellenőrzéseket a kernel-hibakereső nem fogja elkapni, és a felhasználói módú kivételek nem okoznak betörést a kernel-hibakeresőbe.
Ha elkészült, a következő parancsok megadásával engedélyezheti a kernel hibakeresését (a célszámítógép újraindítása nélkül).
kdbgctrl -db
kdbgctrl -e
Később az alábbi parancsok megadásával letilthatja a kernel hibakeresését.
kdbgctrl -d
kdbgctrl -eb
A kdbgctrl -cb használatával ellenőrizheti, hogy a kernel hibakeresése le van-e tiltva.
A DbgPrint puffer mérete
A DbgPrint puffer tárolja azokat az üzeneteket, amelyeket a célszámítógép küldött a kernel-hibakeresőnek.
Ha a teljes kernel-hibakeresés engedélyezve van, ezek az üzenetek automatikusan megjelennek a kernel hibakeresőjében. Ha azonban ez a beállítás le van tiltva, ezek az üzenetek a pufferben lesznek tárolva. Egy későbbi időpontban engedélyezheti a kernel hibakeresését, csatlakozhat egy kernel-hibakeresőhöz, és a !dbgprint kiterjesztéssel megtekintheti a puffer tartalmát. A pufferről további információt a DbgPrint puffer című témakörben talál.
A DbgPrint puffer alapértelmezett mérete 4 KB egy ingyenes Windows-builden. Az aktuális pufferméret meghatározásához használja a kdbgctrl -cdb parancsot. A puffer méretének módosításához használja a kdbgctrl -sdb Size parancsot, ahol a Méret az új pufferméretet adja meg. A szintaxis részleteiért lásd: KDbgCtrl Command-Line Beállítások.
példák
Az összes aktuális beállítás megjelenítéséhez használja a következő parancsot:
kdbgctrl -c -ca -cu -cb -cdb
Az alapértelmezett beállítások visszaállításához használja a következő parancsot:
kdbgctrl -e -da -eu -db -sdb 0x1000
Ha ki szeretné zárni a gazdaszámítógépet, hogy csak kivételekkel lépjen kapcsolatba, használja a következő parancsot:
kdbgctrl -d -ea -eu
Az összes kernel-hibakeresés letiltásához használja a következő parancsot:
kdbgctrl -d -da
Ha az összes kernel-hibakeresést letiltja, érdemes lehet növelni a DbgPrint puffer méretét is. Ez biztosítja, hogy minden üzenet mentésre kerül, ha később látnia kell őket. Ha egy megabájtnyi memóriát meg kell szabadítania, a következő parancsot használhatja:
kdbgctrl -sdb 0x100000