Sdílet prostřednictvím


Ladění prostředí

K dispozici je šest prostředí ladění:

  • WinDbg
  • WinDbg (Classic)
  • Ladicí program jádra (KD)
  • NTKD
  • Ladicí program konzoly (CDB)
  • Nt Symbolický ladicí program (NTSD)

Následující části popisují prostředí ladění.

WinDbg

WinDbg je nejnovější verzí s moderním grafickým rozhraním, rychlejšími okny a plně integrovaným skriptovacím prostředím, vytvořeným s rozšiřitelným datovým modelem ladicího programu v popředí. WinDbg používá stejný základní modul jako WinDbg (Classic), takže všechny příkazy, rozšíření a pracovní postupy, které jste použili, budou fungovat stejně jako předtím.

Další informace naleznete v tématu Funkce WinDbg

WinDbg (Classic)

Microsoft Windows Debugger WinDbg (Classic) je ladicí program založený na Systému Windows, který je schopen ladění v uživatelském režimu i v režimu jádra. WinDbg poskytuje ladění pro jádro Windows, ovladače kernelového režimu a systémové služby, a také aplikace a ovladače uživatelského režimu.

WinDbg používá pro ladění na úrovni zdroje formáty symbolů ladění sady Visual Studio. Z modulu, který obsahuje soubory symbolů PDB, má přístup k libovolnému symbolu nebo proměnné a má přístup k názvu jakékoli veřejné funkce vystavené moduly kompilovanými soubory symbolů COFF (například soubory .dbg systému Windows).

WinDbg může zobrazit zdrojový kód, nastavit zarážky, zobrazit proměnné (včetně objektů C++), trasování zásobníku a paměti. Jeho příkazové okno ladicího programu umožňuje uživateli vydat širokou škálu příkazů.

Pro ladění v režimu jádra vyžaduje WinDbg obvykle dva počítače (hostitelský počítač a cílový počítač). WinDbg také podporuje různé možnosti vzdáleného ladění pro cíle v uživatelském režimu i v režimu jádra.

WinDbg je protějšek grafického rozhraní CDB/NTSD a KD/NTKD.

KD

Microsoft Kernel Debugger (KD) je program konzoly založený na znakech, který umožňuje podrobnou analýzu aktivity režimu jádra ve všech operačních systémech založených na nt. KD můžete použít k ladění komponent a ovladačů režimu jádra nebo ke sledování chování samotného operačního systému. KD také podporuje ladění multiprocesoru.

KD obvykle neběží na počítači, který je laděn. Pro ladění v režimu jádra potřebujete dva počítače ( hostitelský počítač a cílový počítač).

NTKD

Existuje varianta ladicího programu KD s názvem NTKD. Je shodný s KD každým způsobem, s tím rozdílem, že při spuštění vytváří nové textové okno, zatímco KD dědí okno příkazového řádku, ze kterého bylo vyvoláno.

CDB

Program CDB (Microsoft Console Debugger) je program konzoly založený na znakech, který umožňuje analýzu paměti a konstruktorů v uživatelském režimu systému Windows na nízké úrovni. Ladicí program konzoly se používá k označení skutečnosti, že CDB je klasifikován jako konzolová aplikace; neznamená, že cílovou aplikací musí být konzolová aplikace. CdB je ve skutečnosti plně schopný ladit konzolové aplikace i grafické programy systému Windows.

CDB je velmi účinný pro ladění programu, který je aktuálně spuštěný nebo nedávno chybově ukončen (analýza za provozu), a přitom jednoduchý na nastavení. Dá se použít ke zkoumání chování pracovní aplikace. V případě selhávající aplikace lze CDB použít k získání trasování zásobníku nebo prohlédnout si problematické parametry. Funguje dobře v síti (pomocí serveru vzdáleného přístupu), protože je založená na znakech.

Pomocí CDB můžete zobrazit a spustit programový kód, nastavit zarážky a zkoumat a měnit hodnoty v paměti. CDB dokáže analyzovat binární kód tak, že ho rozebere a zobrazí pokyny k sestavení. Může také analyzovat zdrojový kód přímo.

Vzhledem k tomu, že CDB má přístup k umístěním paměti prostřednictvím adres nebo globálních symbolů, můžete místo adresy odkazovat na data a pokyny podle názvu, což usnadňuje vyhledání a ladění konkrétních částí kódu. CDB podporuje ladění více vláken a procesů. Je rozšiřitelný a může číst a zapisovat stránkovanou i nestránkovou paměť.

Pokud je cílová aplikace sama o sobě konzolovou aplikací, cíl bude sdílet okno konzoly s CDB. Pokud chcete vytvořit samostatné okno konzoly pro cílovou konzolovou aplikaci, použijte možnost příkazového řádku -2 .

NTSD

Existuje varianta ladicího programu CDB s názvem Microsoft NT Symbol Debugger (NTSD). Je identický s CDB každým způsobem, s tím rozdílem, že při spuštění vytváří nové textové okno, zatímco CDB dědí okno příkazového řádku, ze kterého bylo vyvoláno.

Vzhledem k tomu, že spouštěcí příkaz lze použít také k vytvoření nového okna konzoly, následující dvě konstrukce poskytnou stejné výsledky:

start cdb parameters
ntsd parameters

Je možné přesměrovat vstup a výstup z NTSD (nebo CDB), aby bylo možné kontrolovat jej z ladicího programu jádra (Visual Studio, WinDbg nebo KD). Pokud se tato technika používá s NTSD, nezobrazí se vůbec žádné okno konzoly. Řízení NTSD z ladicího programu jádra je proto obzvláště užitečné, protože výsledkem je extrémně odlehčený ladicí program, který téměř nijak nezatěžuje počítač obsahující cílovou aplikaci. Tuto kombinaci lze použít k ladění systémových procesů, vypnutí a pozdějších fází spouštění. Podrobnosti najdete v části Ovládání ladicího programu User-Mode z ladicího programu jádra.

Viz také

Ladění systému Windows

Funkce WinDbg