CDB-Command-Line-Optionen

Erstmalige Benutzer von CDB oder NTSD sollten mit dem Abschnitt Debuggen mithilfe von CDB und NTSD beginnen.

Die CDB-Befehlszeile verwendet die folgende Syntax:

cdb  [ -server ServerTransport | -remote ClientTransport ] 
[ -premote SmartClientTransport ] [-log{a|au|o|ou} LogFile]
[-2] [-d] [-ddefer] [-g] [-G] [-hd] [-lines] [-myob] [-bonc] 
[-n] [-o] [-s] [-v] [-w] [-cf "filename"] [-cfr "filename"] [-c "command"] 
[-robp] [-r BreakErrorLevel]  [-t PrintErrorLevel] 
[ -x{e|d|n|i} Exception ] [-x] [-clines lines] 
[-i ImagePath]  [-y SymbolPath] [-srcpath SourcePath] 
[-aExtension] [-failinc] [-noio] [-noinh] [-noshell] [-nosqm]
[-sdce] [-ses] [-sicv] [-sins] [-snc] [-snul] [-zp PageFile] 
[-sup] [-sflags 0xNumber] [-ee {masm|c++}]
[-e Event] [-pb] [-pd] [-pe] [-pr] [-pt Seconds] [-pv] 
[ -- | -p PID | -pn Name | -psn ServiceName | -z DumpFile | executable ] 
[-cimp] [-isd] [-kqm] [-pvr] [-version] [-vf] [-vf:<opts>] [-netsyms:{yes|no}]

cdb -iae 

cdb -iaec KeyString 

cdb -iu KeyString

cdb -QR Server 

cdb -wake pid 

cdb -?

Die NTSD-Befehlszeilensyntax ist mit der syntax von CDB identisch:

ntsd  [ -server ServerTransport | -remote ClientTransport ] 
[ -premote SmartClientTransport ] [-log{a|au|o|ou} LogFile]
[-2] [-d] [-ddefer] [-g] [-G] [-hd] [-lines] [-myob] [-bonc] 
[-n] [-o] [-s] [-v] [-w] [-cf "filename"] [-cfr "filename"] [-c "command"] 
[-robp] [-r BreakErrorLevel]  [-t PrintErrorLevel] 
[ -x{e|d|n|i} Exception ] [-x] [-clines lines] 
[-i ImagePath]  [-y SymbolPath] [-srcpath SourcePath] 
[-aExtension] [-failinc] [-noio] [-noinh] [-noshell] [-nosqm]
[-sdce] [-ses] [-sicv] [-sins] [-snc] [-snul] [-zp PageFile] 
[-sup] [-sflags 0xNumber] [-ee {masm|c++}] 
[-e Event] [-pb] [-pd] [-pe] [-pr] [-pt Seconds] [-pv] 
[ -- | -p PID | -pn Name | -psn ServiceName | -z DumpFile | executable ] 
[-cimp] [-isd] [-kqm] [-pvr] [-version] [-vf] [-vf:<opts>] [-netsyms:{yes|no}]

ntsd -iae 

ntsd -iaec KeyString 

ntsd -iu KeyString

ntsd -QR Server 

ntsd -wake PID 

ntsd -?

Der einzige Unterschied zwischen NTSD und CDB besteht darin, dass NTSD ein neues Konsolenfenster erzeugt, während CDB das Fenster erbt, von dem aus es aufgerufen wurde. Da der Startbefehl auch zum Erstellen eines neuen Konsolenfensters verwendet werden kann, führen die folgenden beiden Konstruktionen zu den gleichen Ergebnissen:

start cdb [parameters]
ntsd [parameters]

Es folgen Beschreibungen der Befehlszeilenoptionen CDB und NTSD. Nur bei den Optionen -remote, -server, -g und -G wird die Groß-/Kleinschreibung beachtet. Der anfängliche Bindestrich kann durch einen Schrägstrich (/) ersetzt werden. Optionen, die keine zusätzlichen Parameter verwenden, können verkettet werden. Daher kann cdb -o -d -G -g winmine als cdb -odGg winmine geschrieben werden.

Wenn die Option -remote oder -server verwendet wird, muss sie vor allen anderen Optionen in der Befehlszeile angezeigt werden. Wenn eine ausführbare Datei angegeben ist, muss sie zuletzt in der Befehlszeile angezeigt werden. jeder Text nach dem Namen der ausführbaren Datei wird als eigene Befehlszeilenparameter an das ausführbare Programm übergeben.

Parameter

ServerTransport
Erstellt einen Debugserver, auf den andere Debugger zugreifen können. Eine Erläuterung der möglichen ServerTransport-Werte finden Sie unter Aktivieren eines Debugservers. Wenn dieser Parameter verwendet wird, müssen es die ersten Parameter in der Befehlszeile sein.

-remoteClientTransport
Erstellt einen Debugclient und stellt eine Verbindung mit einem Debugserver her, der bereits ausgeführt wird. Eine Erklärung der möglichen ClientTransport-Werte finden Sie unter Aktivieren eines Debugclients. Wenn dieser Parameter verwendet wird, müssen es die ersten Parameter in der Befehlszeile sein.

-premoteSmartClientTransport
Erstellt einen smarten Client und stellt eine Verbindung mit einem Prozessserver her, der bereits ausgeführt wird. Eine Erklärung der möglichen SmartClientTransport-Werte finden Sie unter Aktivieren eines smarten Clients.

-2
Wenn es sich bei der Zielanwendung um eine Konsolenanwendung handelt, wird sie mit dieser Option in einem neuen Konsolenfenster angezeigt. (Standardmäßig verwendet eine Zielkonsolenanwendung das Fenster für CDB oder NTSD.)

--
Debuggen des Clientservers Run-Time Subsystem (CSRSS). Ausführliche Informationen finden Sie unter Debuggen von CSRSS.

-a-Erweiterung
Legt die Standarderweiterungs-DLL fest. Der Standardwert ist userexts. Nach "a" darf kein Leerzeichen vorhanden sein, und die .dll-Erweiterung darf nicht enthalten sein. Ausführliche Informationen und andere Methoden zum Festlegen dieses Standardwerts finden Sie unter Laden von Debuggererweiterungs-DLLs.

-bonc
Wenn diese Option angegeben ist, wird der Debugger in das Ziel eingebrochen, sobald die Sitzung beginnt. Dies ist besonders nützlich, wenn Sie eine Verbindung mit einem Debugserver herstellen, der derzeit möglicherweise nicht in das Ziel unterteilt ist.

-c "Befehl"
Gibt den anfänglichen Debuggerbefehl an, der beim Start ausgeführt werden soll. Dieser Befehl muss mit Anführungszeichen umgeben sein. Mehrere Befehle können durch Semikolons getrennt werden. (Wenn Sie über eine lange Befehlsliste verfügen, ist es möglicherweise einfacher, sie in ein Skript einzufügen und dann die Option -c mit dem Befehl $<, $, $><, $><, $$>< (Skriptdatei ausführen) zu verwenden.)

Wenn Sie einen Debugclient starten, muss dieser Befehl für den Debugserver vorgesehen sein. Clientspezifische Befehle wie .lsrcpath sind nicht zulässig.

-cf "Dateiname"
Gibt den Pfad und den Namen einer Skriptdatei an. Diese Skriptdatei wird ausgeführt, sobald der Debugger gestartet wird. Wenn dateiname Leerzeichen enthält, muss er in Anführungszeichen eingeschlossen werden. Wenn der Pfad ausgelassen wird, wird das aktuelle Verzeichnis angenommen. Wenn die Option -cf nicht verwendet wird, wird die datei ntsd.ini im aktuellen Verzeichnis als Skriptdatei verwendet. Wenn die Datei nicht vorhanden ist, tritt kein Fehler auf. Ausführliche Informationen finden Sie unter Verwenden von Skriptdateien.

-cfr "Dateiname"
Gibt den Pfad und den Namen einer Skriptdatei an. Diese Skriptdatei wird ausgeführt, sobald der Debugger gestartet wird, und jedes Mal, wenn das Ziel neu gestartet wird. Wenn dateiname Leerzeichen enthält, muss er in Anführungszeichen eingeschlossen werden. Wenn der Pfad ausgelassen wird, wird das aktuelle Verzeichnis angenommen. Wenn die Datei nicht vorhanden ist, tritt kein Fehler auf. Ausführliche Informationen finden Sie unter Verwenden von Skriptdateien.

-cimp
Weist CDB/NTSD an, mit einer impliziten DbgSrv-Befehlszeile anstelle eines expliziten Auszuführenden Prozesses zu beginnen. Diese Option ist die Clientseite von dbgsrv -pc.

-Linienlinien
Legt die ungefähre Anzahl von Befehlen im Befehlsverlauf fest, auf die beim Remotedebuggen zugegriffen werden kann. Ausführliche Informationen und weitere Möglichkeiten zum Ändern dieser Zahl finden Sie unter Verwenden von Debuggerbefehlen.

-d
Übergibt die Steuerung dieses Debuggers an den Kerneldebugger. Wenn Sie CSRSS debuggen, ist diese Steuerelementumleitung immer aktiv, auch wenn -d nicht angegeben ist. (Diese Option kann nicht während des Remotedebuggens verwendet werden. Verwenden Sie stattdessen -ddefer .) Weitere Informationen finden Sie unter Steuern des User-Mode Debuggers über den Kerneldebugger . Diese Option kann nicht in Verbindung mit der Option -ddefer oder der Option -noio verwendet werden.

Hinweis Wenn Sie WinDbg als Kerneldebugger verwenden, sind viele der vertrauten Features von WinDbg in diesem Szenario nicht verfügbar. Beispielsweise können Sie das Fenster Locals, das Fenster Disassembly oder das Fenster Call Stack nicht verwenden, und Sie können den Quellcode nicht schrittweise durchlaufen. Dies liegt daran, dass WinDbg nur als Viewer für den Debugger (NTSD oder CDB) fungiert, der auf dem Zielcomputer ausgeführt wird.

-ddefer
Übergibt die Steuerung dieses Debuggers an den Kerneldebugger, es sei denn, ein Debugclient ist verbunden. (Dies ist eine Variante von -d , die von einem Debugserver verwendet werden kann.) Weitere Informationen finden Sie unter Steuern des User-Mode Debuggers über den Kerneldebugger . Diese Option kann nicht in Verbindung mit der Option -d oder der Option -noio verwendet werden.

-eEreignis
Signalisiert dem Debugger, dass das angegebene Ereignis aufgetreten ist. Diese Option wird nur beim programmgesteuerten Starten des Debuggers verwendet.

-ee {masm|c++}
Legt den Standardauswertungsauswerter für Ausdrücke fest. Wenn masm angegeben ist, wird die MASM-Ausdruckssyntax verwendet. Wenn c++ angegeben ist, wird die Syntax des C++-Ausdrucks verwendet. Wenn die Option -ee weggelassen wird, wird die MASM-Ausdruckssyntax als Standard verwendet. Weitere Informationen finden Sie unter Auswerten von Ausdrücken .

-failinc
Bewirkt, dass der Debugger fragwürdige Symbole ignoriert. Beim Debuggen einer Benutzermodus- oder Kernelmodus-Minidumpdatei verhindert diese Option auch, dass der Debugger Module lädt, deren Images nicht zugeordnet werden können. Ausführliche Informationen und weitere Methoden zum Steuern finden Sie unter SYMOPT_EXACT_SYMBOLS.

-G
Ignoriert den anfänglichen Haltepunkt in der Zielanwendung. Diese Option führt dazu, dass die Zielanwendung nach dem Start weiter ausgeführt wird oder CDB an sie anfügt, es sei denn, es wurde ein anderer Haltepunkt festgelegt. Weitere Informationen finden Sie unter Anfänglicher Haltepunkt .

-G
Ignoriert den endgültigen Haltepunkt beim Beenden des Prozesses. Standardmäßig wird CDB während des Imageausführungsprozesses beendet. Diese Option führt dazu, dass CDB sofort beendet wird, wenn das untergeordnete Element beendet wird. Dies hat den gleichen Effekt wie das Eingeben des Befehls sxd epr. Weitere Informationen finden Sie unter Steuern von Ausnahmen und Ereignissen.

-Hd
Gibt an, dass der Debugheap nicht verwendet werden soll. Weitere Informationen finden Sie unter Debuggen eines User-Mode-Prozesses mithilfe von CDB .

-iImagePath
Gibt den Speicherort der ausführbaren Dateien an, die den Fehler generiert haben. Wenn der Pfad Leerzeichen enthält, sollte er in Anführungszeichen eingeschlossen werden.

-Iae
Installiert CDB als postmortem-Debugger. Ausführliche Informationen finden Sie unter Aktivieren des Postmortemdebuggens.

Wenn diese Aktion erfolgreich ist, wird keine Meldung angezeigt. wenn ein Fehler auftritt, wird eine Fehlermeldung angezeigt.

Der -iae-Parameter darf nicht mit anderen Parametern verwendet werden. Mit diesem Befehl wird CDB nicht gestartet.

-iaecKeyString
Installiert CDB als postmortem-Debugger. Der Inhalt von KeyString wird an das Ende des Registrierungsschlüssels AeDebug angefügt. Wenn KeyString Leerzeichen enthält, muss es in Anführungszeichen eingeschlossen werden. Ausführliche Informationen finden Sie unter Aktivieren des Postmortemdebuggens.

Wenn diese Aktion erfolgreich ist, wird keine Meldung angezeigt. wenn ein Fehler auftritt, wird eine Fehlermeldung angezeigt.

Der Parameter -iaec darf nicht mit anderen Parametern verwendet werden. Mit diesem Befehl wird CDB nicht gestartet.

-Isd
Aktiviert das CREATE_IGNORE_SYSTEM_DEFAULT-Flag für alle Prozesserstellungen.

-iuKeyString
Registriert Debuggerremoting als URL-Typ, sodass Benutzer einen Debugger-Remoteclient mit einer URL automatisch starten können. KeyString hat das Format remdbgeng://RemotingOption. RemotingOption ist eine Zeichenfolge, die das Transportprotokoll definiert, wie im Thema Aktivieren eines Debugclients definiert. Wenn diese Aktion erfolgreich ist, wird keine Meldung angezeigt. wenn ein Fehler auftritt, wird eine Fehlermeldung angezeigt.

Der -iu-Parameter darf nicht mit anderen Parametern verwendet werden. Mit diesem Befehl wird CDB nicht gestartet.

-kqm
Startet CDB/NTSD im ruhigen Modus.

-Linien
Aktiviert das Debuggen von Quellzeilen. Wenn diese Option ausgelassen wird, muss der Befehl .lines (Source Line Support umschalten) verwendet werden, bevor das Quelldebuggen zulässig ist. Weitere Methoden zum Steuern finden Sie unter SYMOPT_LOAD_LINES.

-log{a|au|o|ou} LogFile
Beginnt mit der Protokollierung von Informationen in einer Protokolldatei. Wenn die angegebene Datei bereits vorhanden ist, wird sie überschrieben, wenn -logo verwendet wird, oder die Ausgabe wird an die Datei angefügt, wenn -loga verwendet wird. Die Optionen -logau und -logou funktionieren ähnlich wie -loga bzw . -logo , mit der Ausnahme, dass es sich bei der Protokolldatei um eine Unicode-Datei handelt. Weitere Informationen finden Sie unter Beibehalten einer Protokolldatei in CDB.

-Myob
Wenn ein Versionskonflikt mit dbghelp.dll besteht, wird der Debugger weiterhin ausgeführt. (Ohne den Schalter -myob gilt dies als schwerwiegender Fehler.)

-N
Lautes Laden von Symbolen: Ermöglicht eine ausführliche Ausgabe des Symbolhandlers. Ausführliche Informationen und weitere Methoden zum Steuern finden Sie unter SYMOPT_DEBUG.

-netsyms {yes|no}
Das Laden von Symbolen aus einem Netzwerkpfad zulassen oder nicht zulassen.

-noinh
Verhindert, dass vom Debugger erstellte Prozesse Handles vom Debugger erben. Weitere Methoden zum Steuern finden Sie unter Debuggen eines User-Mode-Prozesses mithilfe von CDB.

-noio
Verhindert, dass der Debugserver für die Eingabe oder Ausgabe verwendet wird. Eingaben werden nur vom Debugclient akzeptiert (plus jedes anfängliche Befehls- oder Befehlsskript, das durch die Befehlszeilenoption -c angegeben wird).

Die gesamte Ausgabe wird an den Debugclient weitergeleitet. Wenn NTSD für den Server verwendet wird, wird überhaupt kein Konsolenfenster erstellt. Weitere Informationen finden Sie unter Aktivieren eines Debugservers. Diese Option kann nicht in Verbindung mit der Option -d oder der Option -ddefer verwendet werden.

-Noshell
Verbietet alle SHELL-Befehle . Dieses Verbot gilt so lange, wie der Debugger ausgeführt wird, auch wenn eine neue Debugsitzung gestartet wird. Ausführliche Informationen und weitere Möglichkeiten zum Deaktivieren von SHELL-Befehlen finden Sie unter Verwenden von Shellbefehlen.

-nosqm
Deaktiviert die Erfassung und den Upload von Telemetriedaten.

-O
Debuggt alle Prozesse, die von der Zielanwendung (untergeordnete Prozesse) gestartet werden. Standardmäßig werden prozesse, die von dem, den Sie debuggen, erstellt wurden, wie gewohnt ausgeführt. Weitere Methoden zum Steuern finden Sie unter Debuggen eines User-Mode-Prozesses mithilfe von CDB.

-pPID
Gibt die zu debuggende Dezimalprozess-ID an. Dies wird verwendet, um einen Prozess zu debuggen, der bereits ausgeführt wird. Ausführliche Informationen finden Sie unter Debuggen eines User-Mode-Prozesses mithilfe von CDB.

-Pb
Verhindert, dass der Debugger beim Anfügen an einen Zielprozess einen ersten Einbruch anfordert. Dies kann nützlich sein, wenn die Anwendung bereits angehalten wurde oder wenn Sie vermeiden möchten, dass ein Einbruchthread im Ziel erstellt wird.

-Pd
Bewirkt, dass die Zielanwendung am Ende der Debugsitzung nicht beendet wird. Weitere Informationen finden Sie unter Beenden einer Debugsitzung in CDB .

-Pe
Gibt an, dass die Zielanwendung bereits debuggen wird. Weitere Informationen finden Sie unter Erneutes Anfügen an die Zielanwendung .

-pnName
Gibt den Namen des zu debuggenden Prozesses an. (Dieser Name muss eindeutig sein.) Dies wird verwendet, um einen Prozess zu debuggen, der bereits ausgeführt wird.

-Pr
Bewirkt, dass der Debugger den Zielprozess startet, der ausgeführt wird, wenn er ihn anfügt. Dies kann nützlich sein, wenn die Anwendung bereits angehalten ist und Sie möchten, dass die Ausführung fortgesetzt werden soll.

-psnServiceName
Gibt den Namen eines Diensts an, der im zu debuggenden Prozess enthalten ist. Dies wird verwendet, um einen Prozess zu debuggen, der bereits ausgeführt wird.

-ptSekunden
Gibt das Breaktimeout in Sekunden an. Der Standardwert ist 30. Weitere Informationen finden Sie unter Steuern des Ziels .

-Pv
Gibt an, dass der Debugger nicht invasiv an den Zielprozess angefügt werden soll. Ausführliche Informationen finden Sie unter Nichtinvasives Debuggen (Benutzermodus).

-Pvr
Funktioniert wie -pv , mit dem Unterschied, dass der Zielprozess nicht angehalten wird.

QR Server
Listet alle Debugserver auf, die auf dem angegebenen Netzwerkserver ausgeführt werden. Der doppelte umgekehrte Schrägstrich (\) vor dem Server ist optional. Weitere Informationen finden Sie unter Suchen nach Debugservern .

Der Parameter -QR kann nicht mit anderen Parametern verwendet werden. Mit diesem Befehl wird CDB nicht gestartet.

-rBreakErrorLevel
Gibt die Fehlerebene an, die dazu führt, dass das Ziel in den Debugger einbricht. Dies ist eine Dezimalzahl gleich 0, 1, 2 oder 3. Es sind folgende Werte möglich:

Wert Konstante Bedeutung

0

Keine

Unterbrechen Sie keine Fehler.

1

ERROR

Break on ERROR-Level Debugereignisse.

2

MINORERROR

Break on MINORERROR- und ERROR-Level-Debugereignisse.

3

WARNING

Unterbrechen Sie die Debugereignisse WARNING, MINORERROR und ERROR.

Diese Fehlerebene hat nur in überprüften Builds von Microsoft Windows Eine Bedeutung. Der Standardwert ist 1. Überprüfte Builds waren unter älteren Versionen von Windows verfügbar, bevor Windows 10 Version 1803.

-robp
Dadurch kann CDB einen Haltepunkt auf einer schreibgeschützten Speicherseite festlegen. (Der Standardwert ist, dass ein solcher Vorgang fehlschlägt.)

-s
Deaktiviert das verzögerte Laden von Symbolen. Dadurch wird der Prozessstart verlangsamt. Ausführliche Informationen und weitere Methoden zur Steuerung finden Sie unter SYMOPT_DEFERRED_LOADS.

-sdce
Bewirkt, dass der Debugger während des Ladens des Symbols Dialogfelder Dateizugriffsfehler anzeigt. Ausführliche Informationen und weitere Methoden zum Steuern finden Sie unter SYMOPT_FAIL_CRITICAL_ERRORS.

-Ses
Bewirkt, dass der Debugger eine strenge Auswertung aller Symboldateien durchführt und alle fragwürdigen Symbole ignoriert. Ausführliche Informationen und weitere Methoden zum Steuern finden Sie unter SYMOPT_EXACT_SYMBOLS.

-sflags 0xZahl
Legt alle Symbolhandleroptionen auf einmal fest. Zahl sollte eine hexadezimale Zahl sein, die mit dem Präfix 0x versehen ist. Eine Dezimalzahl ohne 0x ist zulässig, aber die Symboloptionen sind Binärflags, und daher wird hexadezimal empfohlen. Diese Option sollte mit Bedacht verwendet werden, da sie alle Standardwerte des Symbolhandlers überschreibt. Ausführliche Informationen finden Sie unter Festlegen von Symboloptionen.

-sicv
Bewirkt, dass der Symbolhandler den CV-Eintrag ignoriert. Ausführliche Informationen und weitere Methoden zum Steuern finden Sie unter SYMOPT_IGNORE_CVREC.

-Sünden
Bewirkt, dass der Debugger die Umgebungsvariablen für den Symbolpfad und den ausführbaren Imagepfad ignoriert. Ausführliche Informationen finden Sie unter SYMOPT_IGNORE_NT_SYMPATH.

-Snc
Bewirkt, dass der Debugger die C++-Übersetzung deaktiviert. Ausführliche Informationen und weitere Methoden zum Steuern finden Sie unter SYMOPT_NO_CPP.

-snul
Deaktiviert das automatische Laden von Symbolen für nicht qualifizierte Namen. Ausführliche Informationen und weitere Methoden zum Steuern finden Sie unter SYMOPT_NO_UNQUALIFIED_LOADS.

-srcpathSourcePath
Gibt den Suchpfad der Quelldatei an. Trennen Sie mehrere Pfade durch ein Semikolon (;). Wenn der Pfad Leerzeichen enthält, sollte er in Anführungszeichen eingeschlossen werden. Ausführliche Informationen und weitere Möglichkeiten zum Ändern dieses Pfads finden Sie unter Quellpfad.

-Sup
Bewirkt, dass der Symbolhandler die öffentliche Symboltabelle bei jeder Symbolsuche durchsucht. Ausführliche Informationen und weitere Methoden zum Steuern finden Sie unter SYMOPT_AUTO_PUBLICS.

-tPrintErrorLevel
Gibt die Fehlerebene an, die dazu führt, dass der Debugger eine Fehlermeldung anzeigt. Dies ist eine Dezimalzahl gleich 0, 1, 2 oder 3. Es sind folgende Werte möglich:

Wert Konstante Bedeutung

0

Keine

Zeigen Sie keine Fehler an.

1

ERROR

Anzeigen von Debugereignissen auf FEHLERebene

2

MINORERROR

Anzeigen von Debugereignissen auf MINORERROR- und ERROR-Ebene.

3

WARNING

Anzeigen von Debugereignissen auf WARNUNGs-, MINORERROR- und ERROR-Ebene.

Diese Fehlerebene hat nur in überprüften Builds von Microsoft Windows Eine Bedeutung. Überprüfte Builds waren unter älteren Versionen von Windows vor Windows 10 Version 1803 verfügbar. Der Standardwert ist 1.

-V
Aktiviert die ausführliche Ausgabe des Debuggers.

-Version
Gibt die Debuggerversionszeichenfolge aus.

-Vf
Aktiviert die Standardeinstellungen von ApplicationVerifier.

-vf:<opts>
Aktiviert die angegebenen ApplicationVerifier-Einstellungen.

-W
Gibt an, 16-Bit-Anwendungen in einem separaten VDM zu debuggen.

-PiD aktivieren
Bewirkt, dass der Ruhemodus für den Benutzermodusdebugger endet, dessen Prozess-ID von PID angegeben wird. Dieser Befehl muss im Ruhemodus auf dem Zielcomputer ausgegeben werden. Weitere Informationen finden Sie unter Steuern des User-Mode Debuggers über den Kerneldebugger .

Der -wake-Parameter sollte nicht mit anderen Parametern verwendet werden. Mit diesem Befehl wird CDB nicht gestartet.

-x{e|d|n|i} Ausnahme
Steuert das Verhalten des Debuggers, wenn das angegebene Ereignis auftritt. Die Ausnahme kann entweder eine Ausnahmenummer oder ein Ereigniscode sein. Sie können diese Option mehrmals angeben, um verschiedene Ereignisse zu steuern. Weitere Informationen und weitere Methoden zum Steuern dieser Einstellungen finden Sie unter Steuern von Ausnahmen und Ereignissen .

-X
Deaktiviert die Erste-Chance-Unterbrechung bei Zugriffsverletzungsausnahmen. Das zweite Auftreten einer Zugriffsverletzung wird in den Debugger eingebrochen. Dies ist identisch mit -xd av.

-ySymbolPath
Gibt den Symbolsuchpfad an. Trennen Sie mehrere Pfade durch ein Semikolon (;). Wenn der Pfad Leerzeichen enthält, sollte er in Anführungszeichen eingeschlossen werden. Ausführliche Informationen und weitere Möglichkeiten zum Ändern dieses Pfads finden Sie unter Symbolpfad.

-zDumpFile
Gibt den Namen einer Zu debuggenden Absturzabbilddatei an. Wenn der Pfad und der Dateiname Leerzeichen enthalten, müssen diese von Anführungszeichen umgeben sein. Es ist möglich, mehrere Dumpdateien gleichzeitig zu öffnen, indem mehrere -z-Optionen eingeschlossen werden, jede gefolgt von einem anderen DumpFile-Wert . Ausführliche Informationen finden Sie unter Analysieren einer User-Mode-Dumpdatei.

-zpPageFile
Gibt den Namen einer geänderten Seitendatei an. Dies ist nützlich, wenn Sie eine Dumpdatei debuggen und den Befehl .pagein (Page In Memory) verwenden möchten. Sie können -zp nicht mit einer Windows-Standardseitendatei verwenden. Es können nur speziell geänderte Seitendateien verwendet werden.

Ausführbaren
Gibt die Befehlszeile eines ausführbaren Prozesses an. Dies wird verwendet, um einen neuen Prozess zu starten und ihn zu debuggen. Dies muss das letzte Element in der Befehlszeile sein. Der gesamte Text nach dem Namen der ausführbaren Datei wird als Argumentzeichenfolge an die ausführbare Datei übergeben.

-?
Zeigt Befehlszeilenhilfetext an.

Beim Starten des Debuggers über Start | Führen Sie ein Eingabeaufforderungsfenster aus, oder geben Sie Argumente für die Zielanwendung nach dem Dateinamen der Anwendung an. Zum Beispiel:

cdb myexe arg1arg2