Sdílet prostřednictvím


Místní ladění Kernel-Mode

Nástroje ladění pro Windows podporují ladění místního jádra. Toto je ladění v režimu jádra na jednom počítači. Jinými slovy, ladicí program běží na stejném počítači, který se ladí.

Nastavení místního ladění Kernel-Mode

Informace o nastavení místního ladění v režimu jádra naleznete v tématu Nastavení místního Kernel-Mode ladění jednoho počítače ručním způsobem.

Spuštění ladicí relace

Použití WinDbg

Otevřete WinDbg jako správce. V nabídce Soubor zvolte Ladění jádra. V dialogovém okně Ladění jádra otevřete kartu Místní . Vyberte OK.

Relaci s WinDbg můžete spustit také tak, že otevřete okno příkazového řádku jako správce a zadáte následující příkaz:

windbg -kl

Použití KD

Otevřete okno příkazového řádku jako správce a zadejte následující příkaz:

kd -kl

Příkazy, které nejsou k dispozici

Ne všechny příkazy jsou k dispozici během místní relace ladění jádra. Obvykle nemůžete použít žádný příkaz, který způsobí zastavení cílového počítače, a to ani v okamžiku, protože operaci nelze obnovit.

Konkrétně nemůžete použít následující příkazy:

  • Prováděcí příkazy, jako jsou g (Go), p (Step), t (Trace), wt (Trace and Watch Data), tb (Trace to Next Branch), gh (Go with Exception Handled) a gn (Go s výjimkou nevyřešenou)

  • Příkazy pro vypnutí a výpis souborů, jako jsou .crash, .dump a .reboot

  • Příkazy zarážky, například bp, bu, ba, bc, bd, be a bl

  • Registrace příkazů zobrazení, jako jsou r a varianty

  • Příkazy trasování zásobníku, jako jsou k a jejich varianty

Pokud provádíte ladění místního jádra pomocí WinDbg, všechny ekvivalentní příkazy nabídky a tlačítka nebudou rovněž k dispozici.

Dostupné příkazy

K dispozici jsou všechny vstupní a výstupní příkazy paměti. Můžete volně číst z paměti uživatele a paměti jádra. Můžete také zapisovat do paměti. Ujistěte se, že nezapisujete do nesprávné části paměti jádra, protože může poškodit datové struktury a často způsobí, že počítač přestane reagovat (to znamená chybové ukončení).

Potíže s laděním lokálního kernelu

Ladění místního jádra je velmi citlivá operace. Dávejte pozor, abyste systém nepoškodili nebo nehroutí.

Jedním z nejobtížnějších aspektů ladění místního jádra je, že se stav počítače neustále mění. Paměť se stránkuje dovnitř a ven, aktivní proces se neustále mění a kontexty virtuálních adres se nemění konstantně. Za těchto podmínek ale můžete efektivně analyzovat věci, které se mění pomalu, například určité stavy zařízení.

Ovladače v režimu jádra a operační systém Windows často odesílají zprávy do ladicího programu jádra pomocí DbgPrint a souvisejících funkcí. Tyto zprávy se při ladění místního jádra automaticky nezobrazují. Můžete je zobrazit pomocí rozšíření !dbgprint .

LiveKD

Nástroj LiveKD simuluje ladění jádra na místním systému. Tento nástroj vytvoří soubor s výpisem stavu snímku paměti jádra, aniž by při vytváření tohoto snímku skutečně zastavoval jádro. (Snímek proto nemusí ve skutečnosti zobrazovat jediný okamžitý stav počítače.)

LiveKD není součástí balíčku Nástroje ladění pro Windows. LiveKd si můžete stáhnout z webu Windows Sysinternals.