WinDbg: Beállítások, munkaterületek és mentett hibakeresési munkamenetek

WinDbg embléma egy nagyítóval, amely biteket vizsgál.

Ez a cikk a WinDbg beállítását és konfigurálását ismerteti.

A WinDbg kétféle konfigurációs fájlt használ:

  • A munkaterületek tárolják a WinDbg-beállításokat, például a témát, az ablakelrendezést, a szimbólum elérési útjait, a forrásútvonalakat és egyéb konfigurációs beállításokat. A munkaterület fájljai a bővítményt .xml használják, és alapértelmezés szerint a következő helyen %LOCALAPPDATA%\DBG\Workspacesvannak tárolva: . A rendszer automatikusan menti a beállításokat az alapértelmezett munkaterületfájlba (%LOCALAPPDATA%\DBG\DbgX.xml) a WinDbg bezárásakor.

  • A mentett hibakeresési munkamenetek a munkamenetenkénti motorbeállításokkal együtt tárolják a célkapcsolati információkat (például hogy melyik memóriaképfájlt kell megnyitni vagy melyik folyamathoz kell csatolni). A hibakeresési munkamenetfájlok a bővítményt .debugtarget használják, és alapértelmezés szerint a következő helyen %LOCALAPPDATA%\DBG\Targetsvannak tárolva: . Ezek a fájlok a Legutóbbi célok listában jelennek meg a Hibakeresés indítása lapon.

Beállítások

A Beállítások menüben beállíthatja az olyan elemeket, mint a forrás és a szimbólum elérési útja. A WinDbg témáját is kiválaszthatja. Az elérhető témamódok a következők:

  • Rendszer – A Windows rendszer témájának beállítását követi (alapértelmezett).
  • Világos – A világos témát használja.
  • Sötét – A sötét témát használja.

Képernyőkép az Általános lapot megjelenítő WinDbg-beállítások menüről.

Jelenleg hat Beállítás párbeszédpanel található:

  • Általános
  • Parancsablak
  • Hibakeresési beállítások
  • Ablakok szétszerelése
  • Események > kivételek
  • Forrásablak

Az elérési utak beállításáról további információt a Windows hibakereső szimbólumútvonala és a Forráskód hibakeresése a WinDbgben (klasszikus) című témakörben talál.

Munkaterületek

A munkaterületek fájlba mentik a WinDbg-beállításokat, például a témát, az ablakelrendezést, a szimbólum elérési útját, a forrásútvonalakat és más konfigurációs beállításokat.

Munkaterületek mentése és betöltése

A munkaterületeket a Fájl menüben kezelheti:

  • Munkaterület mentése – Az aktuális beállításokat az aktív munkaterületfájlba menti.
  • Munkaterület mentése másként – Az aktuális beállításokat egy új munkaterületfájlba menti.
  • Munkaterület megnyitása – Beállítások betöltése egy korábban mentett munkaterületfájlból.

A hibakereső bezárásakor a rendszer automatikusan menti a beállításokat is, kivéve, ha a parancssori beállítás letiltotta az -Q automatikus mentést.

Munkaterület parancssori beállításai

A munkaterület viselkedésének szabályozásához az alábbi parancssori beállításokat használhatja:

  • -Q – Letiltja a beállítások automatikus mentését. A beállítások módosításai csak akkor maradnak meg, ha a Fájl menüben kifejezetten a Munkaterület mentése vagy a Munkaterület mentése lehetőséget választja.
  • -WF SettingsFile – Indításkor betölti a beállításokat a megadott munkaterületfájlból.

Mentett hibakeresési munkamenetek

A mentett hibakeresési munkamenetek a célkapcsolati adatokat és a munkamenetenkénti motorbeállításokat tárolják. A hibakeresési munkamenetfájlok a bővítményt .debugtarget használják, és alapértelmezés szerint a következő helyen %LOCALAPPDATA%\DBG\Targetsvannak tárolva: .

Hibakeresési munkamenetek mentése és betöltése

A hibakeresési munkameneteket a Fájl menüben és a parancssorban kezelheti:

  • Hibakeresési munkamenet mentése – Az aktuális célkapcsolati adatokat fájlba .debugtarget menti. Ez a beállítás csak akkor érhető el, ha egy hibakeresési cél aktív.
  • Legutóbbi célok – A Hibakeresés indítása lapon válasszon ki egy korábban mentett hibakeresési munkamenetet a Legutóbbi célok listából az újratöltéshez.
  • -loadSession – Betölt egy mentett hibakeresési munkamenet konfigurációs fájlját a parancssorból.

Munkamenet-beállítások hibakeresése

A célkapcsolati információk mellett a következő beállítások a mentett hibakeresési munkamenetfájlban (fájlkiterjesztésben).debugtarget vannak tárolva.

Általános beállítások

Megjegyzés:

Ez a lista és formátum nem végleges, és változhat.

Beállítás Alapértelmezett Leírás
FinalBreak true Ha true, figyelmen kívül hagyja az utolsó töréspontot (-g parancssori beállítás).
SourceDebugging true Váltás a forrás- vagy szerelvénymód között.
DebugChildProcesses false (Csak felhasználói mód.) Ha true, a célalkalmazás által indított gyermekfolyamatok hibakeresése (-o parancssori lehetőség).
Noninvasive false Neminvazív csatolást (-pv parancssori lehetőséget) ad meg.
NoDebugHeap false Megadja, hogy a hibakeresési halom ne legyen használva (-hd parancssori beállítás).
Verbose false Ha a részletes mód be van kapcsolva, részletesebb kimenetet biztosít (-v parancssori beállítás) egyes megjelenítési parancsokhoz (például a regiszter dumpolásához).
Elevate - A WinDbg belsőleg használja. Ne módosítsa.
Restartable - A WinDbg belsőleg használja. Ne módosítsa.
UseImplicitCommandLine false Implicit parancssort használ (-cimp parancssori beállítás). Ez a beállítás explicit futtatási folyamat helyett implicit parancssorral indítja el a hibakeresőt.

A parancssori beállításokkal kapcsolatos további információkért lásd a WinDbg parancssori beállításait.

Szimbólumbeállítások

Beállítás Alapértelmezett Leírás
SymbolOptionsOverride 0 Ez az explicit szimbólumbeállítási maszk egyetlen hexa szám formájában jelenik meg.
ShouldOverrideSymbolOptions false Ha be van trueállítva, felülbírálja a táblázatban felsorolt összes szimbólumbeállítást a megadott szimbólumbeállítási maszkkal, amelyet az előző táblázat ismertet.
SymOptExactSymbols false Ez a beállítás azt eredményezi, hogy a hibakereső szigorúan kiértékeli az összes szimbólumfájlt.
SymOptFailCriticalErrors false Ez a szimbólumbeállítás a fájlelérési hiba párbeszédpanelek letiltását okozza.
SymOptIgnoreCvRec false Ez a beállítás miatt a szimbólumkezelő figyelmen kívül hagyja a betöltött kép fejlécében lévő CV rekordot a szimbólumok keresésekor.
SymOptIgnoreNtSympath false Ez a beállítás miatt a hibakereső figyelmen kívül hagyja a szimbólum elérési útjának és a végrehajtható kép elérési útjának környezeti változóbeállítását.
SymOptNoCpp false Ez a szimbólumbeállítás kikapcsolja a C++ fordítást. Ha ez a szimbólumbeállítás be van állítva, __ az összes szimbólumot lecseréli :: .
SymOptNoUnqualifiedLoads false Ez a szimbólumbeállítás letiltja a szimbólumkezelő modulok automatikus betöltését. Ha ez az opció aktiválva van, a hibakereső megpróbál egy szimbólumot illeszteni. Csak a már betöltött modulokban keres.
SymOptAutoPublics false Ez a szimbólumbeállítás azt eredményezi, hogy a DbgHelp csak végső megoldásként keres a nyilvános szimbólumtáblában egy .pdb fájlban. Ha a privát szimbólumok adatainak keresésekor talál találatokat, a nyilvános szimbólumok nem lesznek keresve. Ez a beállítás javítja a szimbólumok keresési sebességét.
SymOptDebug false Ez a szimbólumbeállítás bekapcsolja a zajos szimbólumok betöltését. Ez a beállítás arra utasítja a hibakeresőt, hogy megjelenítse a szimbólumok keresésével kapcsolatos információkat.

A szimbólumbeállításokról további információt a Szimbólum beállításai című témakörben talál.

Munkamenet XML-fájl hibakeresése

A hibakeresési munkamenet célkapcsolati adatai XML formátumban, a .debugtarget fájlkiterjesztéssel együtt tárolódnak.

Az alábbi fájl egy példa a munkamenet konfigurációs fájljának hibakeresésére.

<?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>

Ez a fájlformátum folyamatosan fejlődik, mivel a WinDbg további funkciókat ad hozzá.