Poznámka:
Přístup k této stránce vyžaduje autorizaci. Můžete se zkusit přihlásit nebo změnit adresáře.
Přístup k této stránce vyžaduje autorizaci. Můžete zkusit změnit adresáře.
Nástroj KDbgCtrl (Ovládání ladění jádra, kdbgctrl.exe) lze použít z cílového počítače k řízení připojení pro ladění jádra.
Chcete-li tento nástroj použít, musí být na cílovém počítači spuštěn systém Windows Server 2003 nebo novější verze Systému Windows.
KDbgCtrl může řídit pět různých nastavení: Úplné ladění jádra, Automatické ladění jádra, Zpracování chyb User-Mode, Blokování ladění jádra a Velikost vyrovnávací paměti DbgPrint.
Pokud chcete použít KDbgCtrl, musíte mít již povolené ladění jádra v nastavení spouštění cílového počítače před posledním spuštěním. KDbgCtrl nelze použít k povolení ladění jádra, pokud to nebylo provedeno. Podrobnosti o těchto nastaveních spouštění najdete v části Parametry spouštění pro povolení ladění.
Úplné ladění jádra
Pokud je povoleno úplné ladění jádra, může ladicí program jádra spuštěný na hostitelském počítači vstoupit do cílového počítače. Cílový počítač přejde do ladicího programu jádra, pokud dojde k výjimce režimu jádra. Jsou povoleny také zprávy z cíle na hostitele, jako je výstup DbgPrint , zprávy načítání symbolů a přesměrované ladicí programy v uživatelském režimu.
Pokud je toto nastavení zakázané, budou cílem ignorovány všechny signály z hostitelského počítače.
Ve výchozím nastavení je povolené úplné ladění jádra. Pokud chcete zkontrolovat aktuální hodnotu nastavení, použijte kdbgctrl -c. Pokud chcete toto nastavení zakázat, použijte kdbgctrl -d. Pokud chcete toto nastavení povolit, použijte kdbgctrl -e.
Pokud chcete zkontrolovat aktuální nastavení a použít ho k řízení provádění v dávkovém souboru, můžete použít příkaz kdbgctrl -cx . Podrobnosti o tomto příkazu naleznete v tématu KDbgCtrl Command-Line Možnosti.
Automatické ladění jádra
Pokud je povolené úplné ladění jádra, je aktuální nastavení automatického ladění jádra neměnné – veškerá komunikace je povolená.
Pokud je zakázáno úplné ladění jádra a je povoleno automatické ladění jádra, může ladicí připojení iniciovat pouze cílový počítač.
V tomto případě způsobí vytvoření připojení pouze výjimka, zarážka nebo jiná událost režimu jádra. Připojení nebude vytvořeno pro výstup DbgPrint , zprávy načítání symbolů, přesměrování vstupu a výstupu ladicího programu v uživatelském režimu nebo jiné podobné zprávy – ty budou uloženy v vyrovnávací paměti DbgPrint, místo aby se odesílaly do ladicího programu jádra.
Pokud výjimka nebo událost způsobí, že se cíl přeruší do ladicího programu jádra, úplné ladění jádra se automaticky zapne, stejně jako když spustíte kdbgctrl -e.
Automatické ladění jádra je ve výchozím nastavení zakázáno (i když je to nepodstatné, pokud není zakázané i úplné ladění jádra). Pokud chcete zkontrolovat aktuální hodnotu nastavení, použijte kdbgctrl -ca. Pokud chcete toto nastavení zakázat, použijte kdbgctrl -da. Pokud chcete toto nastavení povolit, použijte kdbgctrl -ea.
zpracování chybUser-Mode
Pokud je povolené zpracování chyb User-Mode, některé události uživatelského režimu způsobí, že se cílový počítač přeruší a vstoupí do ladicího programu jádra.
Konkrétně všechna přerušení int 3 – například zarážky vložené do kódu ladicím programem nebo volání DbgBreakPoint – způsobí přerušení do ladicího programu jádra. Standardní výjimky – například porušení přístupu a dělení nulou – se však obvykle neodesílají do ladicího programu jádra.
Pokud je k procesu již připojen ladicí program v uživatelském režimu, tento ladicí program zachytí všechny chyby uživatelského režimu a ladicí program jádra se nezmění. Prioritu různých obslužných rutin chyb v uživatelském režimu najdete v tématu Povolení ladění postmortem.
Aby User-Mode zpracování chyb fungovalo, musí být povolené také úplné ladění jádra nebo automatické ladění jádra.
User-Mode Zpracování chyb je ve výchozím nastavení povolené. Pokud chcete zkontrolovat aktuální hodnotu nastavení, použijte kdbgctrl -cu. Pokud chcete toto nastavení zakázat, použijte kdbgctrl -du. Pokud chcete toto nastavení povolit, použijte kdbgctrl -eu.
Blokování ladění jádra
V některých případech můžete chtít nastavit cílový počítač pro ladění jádra, ale počkejte, až po spuštění cílového počítače povolíte ladění jádra. Můžete to udělat tak, že zablokujete ladění jádra.
Důležité
Před použitím BCDEdit ke změně informací o spuštění může být nutné dočasně pozastavit funkce zabezpečení systému Windows, jako je BitLocker a Zabezpečené spouštění na testovacím počítači. Po dokončení testování opět aktivujte tyto funkce zabezpečení a odpovídajícím způsobem zacházejte s testovacím počítačem, když jsou bezpečnostní funkce vypnuté.
Pokud chcete blokovat ladění jádra, nastavte cílový počítač pomocí příkazů podobných následujícímu:
bcdedit /debug on
bcdedit /dbgsettings 1394 channel:32 /start DISABLE /noumex
Když restartujete cílový počítač, bude připravený pro ladění jádra, ale ladění jádra a zpracování chyb User-Mode budou zakázány. V tomto okamžiku nebude hostitelský počítač schopen připojit k cílovému počítači, kontroly chyb nebudou zachyceny ladicím programem jádra a výjimky uživatelského režimu nezpůsobí přerušení ladicího programu jádra.
Až budete připraveni, můžete povolit ladění jádra (bez restartování cílového počítače) zadáním následujících příkazů.
kdbgctrl -db
kdbgctrl -e
Později můžete ladění jádra zakázat zadáním následujících příkazů.
kdbgctrl -d
kdbgctrl -eb
Pomocí kdbgctrl -cb můžete zkontrolovat, jestli je ladění jádra blokované.
Velikost vyrovnávací paměti DbgPrint
Vyrovnávací paměť DbgPrint ukládá zprávy, které cílový počítač odeslal do ladicího programu jádra.
Pokud je povolené úplné ladění jádra, tyto zprávy se automaticky zobrazí v ladicím programu jádra. Pokud je ale tato možnost zakázaná, budou tyto zprávy uloženy do vyrovnávací paměti. Později můžete povolit ladění jádra, připojit se k debuggeru jádra a pomocí rozšíření !dbgprint zobrazit obsah této vyrovnávací paměti. Další informace o této vyrovnávací paměti naleznete v tématu DbgPrint Buffer.
Výchozí velikost vyrovnávací paměti DbgPrint je 4 kB v bezplatném buildu Windows. K určení aktuální velikosti vyrovnávací paměti použijte kdbgctrl -cdb. Pokud chcete změnit velikost vyrovnávací paměti, použijte kdbgctrl -sdbSize, kde Velikost určuje novou velikost vyrovnávací paměti. Podrobnosti o syntaxi najdete v tématu KDbgCtrl Command-Line Možnosti.
Příklady
Pokud chcete zobrazit všechna aktuální nastavení, použijte následující příkaz:
kdbgctrl -c -ca -cu -cb -cdb
Pokud chcete obnovit výchozí nastavení, použijte následující příkaz:
kdbgctrl -e -da -eu -db -sdb 0x1000
Pokud chcete hostitelský počítač uzamknout, aby byl kontaktován pouze na výjimky, použijte následující příkaz:
kdbgctrl -d -ea -eu
Pokud chcete zakázat veškeré ladění jádra, použijte následující příkaz:
kdbgctrl -d -da
Pokud zakážete veškeré ladění jádra, můžete také chtít zvětšit velikost vyrovnávací paměti DbgPrint. To zajistí, že všechny zprávy budou uloženy v případě, že je budete potřebovat vidět později. Pokud máte k dispozici megabajt paměti, můžete použít následující příkaz:
kdbgctrl -sdb 0x100000