WinDbg: Nastavení, pracovní prostory a uložené ladicí relace

logo WinDbg s lupou, která kontroluje bity.

Tento článek popisuje, jak nastavit a nakonfigurovat WinDbg.

WinDbg používá dva typy konfiguračních souborů:

  • Pracovní prostory ukládají nastavení WinDbg, jako je motiv, rozložení okna, cesty symbolů, zdrojové cesty a další možnosti konfigurace. Soubory pracovního prostoru používají příponu .xml a ve výchozím nastavení jsou uloženy v %LOCALAPPDATA%\DBG\Workspacessouboru . Nastavení se při zavření WinDbg automaticky uloží do výchozího souboru pracovního prostoru (%LOCALAPPDATA%\DBG\DbgX.xml).

  • Uložené ladicí relace ukládají informace o cílovém připojení (například soubor s výpisem paměti, ke kterému se má otevřít nebo ke kterému procesu připojení) spolu s možnostmi modulu relací. Ladicí soubory relace používají příponu .debugtarget a jsou ve výchozím nastavení uloženy v %LOCALAPPDATA%\DBG\Targets. Tyto soubory se zobrazí v seznamu Posledních cílů na stránce Spustit ladění .

Nastavení

Pomocí nabídky Nastavení můžete nastavit položky, jako je cesta ke zdroji a symbolu. Můžete také zvolit motiv pro WinDbg. Dostupné režimy motivu jsou:

  • Systém – řídí se nastavením systémového motivu systému Windows (výchozí).
  • Světlo - Používá světlý motiv.
  • Tmavá - Používá tmavý motiv.

Snímek obrazovky s nabídkou Nastavení WinDbg zobrazující kartu Obecné

Aktuálně existuje šest dialogových oken Nastavení :

  • Obecné
  • Příkazové okno
  • Nastavení ladění
  • Rozkladová okna
  • Události a výjimky
  • Okno Zdroj

Další informace o nastavení cest naleznete v tématu Cesta symbolů pro ladicí program systému Windows a ladění zdrojového kódu v winDbg (Classic).

Pracovní prostory

Pracovní prostory ukládají nastavení WinDbg, jako je motiv, rozložení okna, cesty symbolů, zdrojové cesty a další možnosti konfigurace, do souboru.

Ukládání a načítání pracovních prostorů

Pracovní prostory můžete spravovat prostřednictvím nabídky Soubor :

  • Uložit pracovní prostor – uloží aktuální nastavení do aktivního souboru pracovního prostoru.
  • Uložit pracovní prostor jako – Uloží aktuální nastavení do nového souboru pracovního prostoru.
  • Otevřít pracovní prostor – Načte nastavení z dříve uloženého souboru pracovního prostoru.

Nastavení se také automaticky uloží při zavření ladicího programu, pokud není automatické ukládání zakázané pomocí možnosti příkazového -Q řádku.

Možnosti příkazového řádku pracovního prostoru

K řízení chování pracovního prostoru můžete použít následující možnosti příkazového řádku:

  • -Q - Zakáže automatické ukládání nastavení. Změny nastavení se zachovají pouze, když v nabídce Soubor vyberete Uložit pracovní prostor nebo Uložit pracovní prostor jako.
  • -WF SettingsFile – Načte nastavení ze zadaného souboru pracovního prostoru při spuštění programu.

Uložené ladicí relace

Uložené ladicí relace ukládají informace o cílovém připojení spolu s možnostmi modulu pro jednotlivé relace. Ladicí soubory relace používají příponu .debugtarget a jsou ve výchozím nastavení uloženy v %LOCALAPPDATA%\DBG\Targets.

Ukládání a načítání ladicích relací

Ladicí relace můžete spravovat prostřednictvím nabídky Soubor a příkazového řádku:

  • Uložit ladicí relaci – uloží aktuální informace o cílovém .debugtarget připojení do souboru. Tato možnost je dostupná jenom v případě, že je aktivní cíl ladění.
  • Nedávné cíle – Na stránce Spustit ladění vyberte dříve uloženou ladicí relaci ze seznamu Nedávných cílů pro její opětovné načtení.
  • -loadSession – Načte uložený konfigurační soubor relace ladění z příkazového řádku.

Nastavení relace ladění

Kromě informací o cílovém připojení jsou následující nastavení uložena v uloženém souboru relace ladění (.debugtarget přípona souboru).

Obecná nastavení

Poznámka:

Tento seznam a formát nejsou konečné a může se změnit.

Nastavení Výchozí Popis
FinalBreak true Pokud true, ignoruje poslední zarážku (-g možnost příkazového řádku).
SourceDebugging true Přepíná mezi režimem zdroje nebo sestavení.
DebugChildProcesses false Uživatelský režim pouze. Pokud true, debugguje podřízené procesy spuštěné cílovou aplikací (-o volba příkazového řádku).
Noninvasive false Určuje neinvasivní připojení (-pv možnost příkazového řádku).
NoDebugHeap false Určuje, že haldu ladění by se neměla používat (-hd možnost příkazového řádku).
Verbose false Při zapnutí podrobného režimu vytvoří podrobnější výstup (-v možnost příkazového řádku) pro některé příkazy zobrazení (například výpis registru).
Elevate - Interně používáno v rámci WinDbg. Neupravujte.
Restartable - Interně používáno v rámci WinDbg. Neupravujte.
UseImplicitCommandLine false Používá implicitní příkazový řádek (-cimp možnost příkazového řádku). Toto nastavení spustí ladicí program s implicitním příkazovým řádkem místo explicitního procesu, který se má spustit.

Další informace o možnostech příkazového řádku naleznete v tématu WinDbg možnosti příkazového řádku.

Nastavení symbolů

Nastavení Výchozí Popis
SymbolOptionsOverride 0 Tato explicitní maska symbolu je ve formě jednoho šestnáctkového čísla.
ShouldOverrideSymbolOptions false Pokud je tato možnost nastavená na true, přepíše všechny možnosti symbolu uvedené v této tabulce zadanou maskou možností symbolu, která je popsaná v předchozí tabulce.
SymOptExactSymbols false Tato možnost způsobí, že ladicí program provede striktní vyhodnocení všech souborů symbolů.
SymOptFailCriticalErrors false Tato volba symbolu způsobí potlačení dialogových oken s chybami přístupu k souboru.
SymOptIgnoreCvRec false Tato možnost způsobí, že obslužná rutina symbolů při hledání symbolů ignoruje záznam CV v záhlaví načteného obrázku.
SymOptIgnoreNtSympath false Tato možnost způsobí, že ladicí program ignoruje nastavení proměnné prostředí pro cestu symbolu a cestu spustitelného obrázku.
SymOptNoCpp false Tato možnost symbolu vypne překlad jazyka C++. Pokud je tato možnost symbolu nastavena, __ se nahradí :: ve všech symbolech.
SymOptNoUnqualifiedLoads false Tato možnost symbolu vypne automatické načítání modulů správce symbolů. Pokud je tato možnost zapnuta, ladicí program se pokusí najít symbol. Prohledává pouze moduly, které už byly načteny.
SymOptAutoPublics false Tato možnost symbolu způsobí, že DbgHelp prohledá veřejnou tabulku symbolů v souboru .pdb pouze jako poslední možnost. Pokud se při hledání dat privátních symbolů najde nějaká shoda, veřejné symboly se nevyhledají. Toto nastavení zlepšuje rychlost hledání symbolů.
SymOptDebug false Tato možnost symbolu zapne načítání hlučných symbolů. Toto nastavení dává ladicímu programu pokyn, aby zobrazil informace o jeho hledání symbolů.

Další informace o možnostech symbolů naleznete v tématu Možnosti symbolu.

Ladění souboru XML relace

Informace o cílovém připojení při ladění jsou uloženy ve formátu XML s příponou souboru .debugtarget.

Následující soubor ukazuje příklad konfiguračního souboru pro ladicí relaci.

<?xml version="1.0" encoding="utf-8"?>
<TargetConfig Name="C:\paint.dmp" LastUsed="2017-08-03T21:34:20.1013837Z">
  <EngineConfig />
  <EngineOptions>
    <Property name="FinalBreak" value="true" />
    <Property name="SourceDebugging" value="true" />
    <Property name="DebugChildProcesses" value="false" />
    <Property name="Noninvasive" value="false" />
    <Property name="NoDebugHeap" value="false" />
    <Property name="Verbose" value="false" />
    <Property name="SymbolOptionsOverride" value="0" />
    <Property name="ShouldOverrideSymbolOptions" value="false" />
    <Property name="SymOptExactSymbols" value="false" />
    <Property name="SymOptFailCriticalErrors" value="false" />
    <Property name="SymOptIgnoreCvRec" value="false" />
    <Property name="SymOptIgnoreNtSympath" value="false" />
    <Property name="SymOptNoCpp" value="false" />
    <Property name="SymOptNoUnqualifiedLoads" value="false" />
    <Property name="SymOptAutoPublics" value="false" />
    <Property name="SymOptDebug" value="false" />
    <Property name="Elevate" value="false" />
    <Property name="Restartable" value="true" />
    <Property name="UseImplicitCommandLine" value="false" />
  </EngineOptions>
  <TargetOptions>
    <Option name="OpenDump">
      <Property name="DumpPath" value="C:\paint.dmp" />
    </Option>
  </TargetOptions>
</TargetConfig>

Tento formát souborů se nadále vyvíjí, protože do WinDbg se přidávají další funkce.