DBH-Befehle
Über die Befehlszeile von DBH können Sie eine Vielzahl von Befehlen verwenden, um Symbole und Symboldateien zu analysieren.
In der folgenden Tabelle sind die Befehle aufgeführt, die die DBH-Optionen steuern und andere grundlegende Aufgaben ausführen.
Get-Help | Effekt |
---|---|
ausführlich [on|off] |
Aktiviert oder deaktiviert den ausführlichen Modus. Ohne Parameter wird die aktuelle ausführliche Moduseinstellung angezeigt. |
sympath [Pfad] |
Legt den Suchpfad des Symbols fest. Ohne Parameter wird der aktuelle Suchpfad für Symbole angezeigt. |
Symopt-Optionen Symopt +Optionen symopt -Options Symopt |
Legt die Symboloptionen fest. + Ohne oder -, der Wert von Optionen ersetzt die aktuellen Symboloptionen. Wenn + oder - verwendet wird, gibt Options die Optionen an, die hinzugefügt oder entfernt werden sollen. Es muss ein Leerzeichen vor oder - + aber kein Leerzeichen vorhanden sein. Ohne Parameter werden die aktuellen Symboloptionen angezeigt. Wenn DBH gestartet wird, wird der Standardwert aller Symboloptionen 0x10C13. Eine Liste der verfügbaren Optionen finden Sie unter Festlegen von Symboloptionen. |
help |
Zeigt Hilfetext für die DBH-Befehle an. |
verlassen |
Beendet das DBH-Programm. |
In der folgenden Tabelle sind die Befehle aufgeführt, die das Zielmodul laden, entladen und neu basen. Diese Befehle können nicht verwendet werden, wenn DBH durch Angeben einer Prozess-ID in der Befehlszeile gestartet wurde.
Get-Help | Effekt |
---|---|
Datei laden |
Lädt das angegebene Modul. Die Datei sollte den Pfad, den Dateinamen und die Dateinamenerweiterung der ausführbaren Datei oder der Symboldatei angeben. |
entladen |
Entladen des aktuellen Moduls. |
Basisadresse |
Legt die Standardbasisadresse auf den angegebenen Wert fest. Alle Symboladressen werden relativ zu dieser Basisadresse bestimmt. |
In der folgenden Tabelle sind die Befehle aufgeführt, die nach Dateien suchen und Verzeichnisinformationen anzeigen.
Get-Help | Effekt |
---|---|
findexe Dateipfad |
Sucht die angegebene ausführbare Datei im angegebenen Pfad mithilfe der FindExecutableImage-Routine . |
finddbg Dateipfad |
Sucht die angegebene DBG-Datei im angegebenen Pfad. Das Einschließen der DBG-Erweiterung ist optional. |
Dir-Dateipfad |
Sucht die angegebene Datei im angegebenen Pfad oder in einem beliebigen Unterverzeichnis unter diesem Pfad unter Verwendung der EnumDirTree-Routine . |
Srchtree-Pfaddatei |
Sucht die angegebene Datei im angegebenen Pfad oder in einem beliebigen Unterverzeichnis unter diesem Pfad unter Verwendung der SearchTreeForFile-Routine . Dieser Befehl ist identisch mit Dir, mit der Ausnahme, dass die Parameter umgekehrt werden. |
ffpath-Datei |
Sucht die angegebene Datei im aktuellen Symbolpfad. |
In der folgenden Tabelle sind die Befehle aufgeführt, die die Modulliste analysieren und das Standardmodul steuern. Das Standardmodul und seine Basisadresse werden in der DBH-Eingabeaufforderung angezeigt.
Get-Help | Effekt |
---|---|
mod-Adresse |
Ändert das Standardmodul in das Modul mit der angegebenen Basisadresse. |
Aktualisieren |
Aktualisiert die Modulliste. |
omap |
Zeigt die OMAP-Strukturen des Moduls an. |
epmod PID |
Listet alle Module auf, die für den angegebenen Prozess geladen wurden. PID gibt die Prozess-ID des gewünschten Prozesses an. |
info |
Zeigt Informationen zum aktuell geladenen Modul an. |
Obj-Maske |
Listet alle Objektdateien auf, die dem Standardmodul zugeordnet sind, das dem angegebenen Muster entspricht. Die Maske kann eine Vielzahl von Wildcardzeichen und Bezeichnern enthalten. Weitere Informationen finden Sie unter String Wildcard Syntax . |
src Mask |
Listet alle Quelldateien auf, die dem Standardmodul zugeordnet sind, das dem angegebenen Muster entspricht. Die Maske kann eine Vielzahl von Wildcardzeichen und Bezeichnern enthalten. Weitere Informationen finden Sie unter String Wildcard Syntax . |
enummod |
Listet alle geladenen Module auf. Es gibt immer mindestens ein Modul, es sei denn, DBH wird ohne Ziel ausgeführt, in diesem Fall gibt es keine. |
In der folgenden Tabelle sind die Befehle aufgeführt, die symbole anzeigen und suchen.
Get-Help | Effekt |
---|---|
Enumerationsmodul!Symbol |
Listet alle Symbole auf, die dem angegebenen Modul und Symbol entsprechen. Modul gibt das zu durchsuchende Modul (ohne Dateinamenerweiterung) an. Symbol gibt ein Muster an, das das Symbol enthalten muss. Sowohl Modul als auch Symbol können eine Vielzahl von Wildcardzeichen und Bezeichnern enthalten. Weitere Informationen finden Sie unter String Wildcard Syntax. |
enumaddr-Adresse |
Listet alle Symbole auf, die der angegebenen Adresse zugeordnet sind. |
Addr-Adresse |
Zeigt detaillierte Informationen zu den Symbolen an, die der angegebenen Adresse zugeordnet sind. |
Name [Modul!]Symbol |
Zeigt detaillierte Informationen zum angegebenen Symbol an. Ein optionaler Modulbezeichner kann enthalten sein. Wildcards sollten nicht verwendet werden, denn wenn mehrere Symbole mit dem Muster übereinstimmen, zeigt der Name nur den ersten von ihnen an. |
nächstes [Modul!]Symbol nächste Adresse |
Zeigt detaillierte Informationen zum nächsten Symbol nach dem angegebenen Symbol oder der angegebenen Adresse an. Wenn ein Symbol anhand des Namens angegeben wird, kann ein optionaler Modulbezeichner enthalten sein, jedoch sollten keine Wildcards verwendet werden. |
prev [Module!]Symbol Prev-Adresse |
Zeigt detaillierte Informationen zum ersten Symbol vor dem angegebenen Symbol oder der angegebenen Adresse an. Wenn ein Symbol anhand des Namens angegeben wird, kann ein optionaler Modulbezeichner enthalten sein, jedoch sollten keine Wildcards verwendet werden. |
Line File#LineNum |
Zeigt die hexadezimale Adresse der binären Anweisung an, die der angegebenen Quellzeile zugeordnet ist, und alle Symbole, die dieser Zeile zugeordnet sind. Legt außerdem die aktuelle Zeilennummer gleich der angegebenen Zeilennummer fest. Die Datei gibt den Namen der Quelldatei an, und LineNum gibt die Zeilennummer in dieser Datei an; diese sollten durch ein Nummernzeichen ( # ) getrennt werden. |
srclines File LineNum |
Zeigt die Objektdateien an, die der angegebenen Quellzeile zugeordnet sind, und die hexadezimale Adresse der binären Anweisung, die dieser Zeile zugeordnet ist. Ändert nicht die aktuelle Zeilennummer. Die Datei gibt den Namen der Quelldatei an, und LineNum gibt die Zeilennummer in dieser Datei an. Diese sollten durch ein Leerzeichen getrennt werden. |
laddr-Adresse |
Zeigt die Quelldatei und die Zeilennummer an, die dem Symbol entspricht, das sich an der angegebenen Adresse befindet. |
linenext |
Erhöht die aktuelle Zeilennummer und zeigt Informationen zur neuen Zeilennummer an. |
lineprev |
Erhöht die aktuelle Zeilennummer und zeigt Informationen zur neuen Zeilennummer an. |
locals-Funktion [Mask] |
Zeigt alle lokalen Variablen an, die in der angegebenen Funktion enthalten sind. Wenn "Mask" enthalten ist, werden nur die Gebietsschemas angezeigt, die dem angegebenen Muster entsprechen. Weitere Informationen finden Sie unter String Wildcard Syntax . |
type TypeName |
Zeigt detaillierte Informationen zum angegebenen Datentyp an. TypeName gibt den Namen des Datentyps an (z. B. WSTRING). Wenn kein Typname mit diesem Wert übereinstimmt, wird ein entsprechendes Symbol angezeigt. Im Gegensatz zu den meisten DBH-Befehlsparametern wird bei TypeName die Groß-/Kleinschreibung beachtet. |
elines [Quelle [Obj]] |
Listet alle Quellzeilen auf, die dem angegebenen Quellformat und -objektformat entsprechen. Die Quelle gibt den Namen der Quelldatei an, einschließlich des absoluten Pfads und der Dateinamenerweiterung. Obj gibt den Namen der Objektdatei an, einschließlich des relativen Pfads und der Dateinamenerweiterung. Sowohl Source als auch Obj können eine Vielzahl von Wildcardzeichen und Bezeichnern enthalten. Weitere Informationen finden Sie unter String Wildcard Syntax. Wenn ein Parameter weggelassen wird, entspricht dies der Verwendung des Sternchens () des Wildcards. Wenn Sie keine Pfadinformationen angeben möchten, stellen Sie dem Dateinamen <das Präfix "/strong>" voran, um einen Wildcardpfad anzugeben. |
Indexwert |
Zeigt detaillierte Informationen zum Symbol mit dem angegebenen Indexwert an. |
Bereichsadresse Bereich [Modul!]Symbol |
Zeigt detaillierte Informationen zum übergeordneten Element des angegebenen Symbols an. Das Symbol kann anhand der Adresse oder des Namens angegeben werden. |
srch [mask=Symbol] [index=Index] [tag=Tag] [addr=Address] [globals] |
Sucht nach allen Symbolen, die den angegebenen Masken entsprechen. Symbol gibt den Symbolnamen an. Er sollte nicht den Modulnamen enthalten, kann aber Auch Wildcardzeichen und Bezeichner enthalten; Weitere Informationen finden Sie unter String Wildcard Syntax . Index gibt die hexadezimale Adresse eines Symbols an, das als übergeordnetes Element für die Suche verwendet werden soll. Tag gibt den Hexadezimalsymboltyp-Klassifiziererwert (SymTagXxx) an, der mit dem Symbol übereinstimmen muss. Adresse gibt die Adresse des Symbols an. Wenn Globalen enthalten sind, werden nur globale Symbole angezeigt. |
uw Address |
Zeigt die Abspanninformationen für die Funktion an der angegebenen Adresse an. |
dtag |
Zeigt alle Symboltypklassifiziererwerte (SymTagXxx) an. |
Etypes |
Listet alle Datentypen auf. |
dump |
Zeigt eine vollständige Liste aller Symbolinformationen in der Zieldatei an. |
In der folgenden Tabelle sind die Befehle aufgeführt, die sich auf Symbolserver und Symbolspeicher beziehen.
Get-Help | Effekt |
---|---|
Startseite [Pfad] |
Legt das Startverzeichnis fest, das von SymSrv und SrcSrv für den Standard-Downstreamspeicher verwendet wird. Wenn der Symbolpfad einen Verweis auf einen Symbolserver enthält, der einen standardmäßigen downstreamen Speicher verwendet, wird das Sym-Unterverzeichnis des Startverzeichnisses für den nachgeschalteten Speicher verwendet. Ohne Parameter zeigt home das aktuelle Startverzeichnis an. |
srvpath Path |
Überprüft, ob der angegebene Pfad der Pfad eines Symbolspeichers ist. |
srvind File |
Sucht den Symbolserverindex, der der angegebenen Datei entspricht. Der Symbolserverindex ist ein eindeutiger Wert, der auf dem Inhalt der Datei basiert, unabhängig davon, ob er tatsächlich einem Symbolspeicher hinzugefügt wurde. Die Datei sollte den Dateinamen und absoluten Pfad der gewünschten Datei angeben. |
fii-Datei |
Zeigt die Symbolserverindizes für die angegebene Binärdatei und die zugehörigen Dateien an. |
getfile File Index |
Zeigt die Datei mit dem angegebenen Namen und dem Symbolserverindex an. Die Datei gibt den Namen der gewünschten Datei an. Dies sollte nicht den Pfad enthalten. Index gibt den Symbolserverindex der gewünschten Datei an. DBH verwendet die SymFindFileInPath-Routine , um die Struktur unter dem aktuellen Symbolpfad nach einer Datei mit diesem Namen und diesem Index zu durchsuchen. |
sup Path File1 File2 |
Speichert eine Datei in einem Symbolspeicher basierend auf den Werten der Parameter. Der Pfad gibt den Verzeichnispfad des Symbolspeichers an. Datei1 und Datei2 werden verwendet, um einen Delta-Wert zu erstellen, der wiederum verwendet wird, um die gespeicherte Datei zu bestimmen. |
storeadd File Store |
Fügt die angegebene Datei dem angegebenen Symbolspeicher hinzu. Der Store sollte der Stammpfad des Symbolspeichers sein. |
In der folgenden Tabelle sind die DBH-Befehle aufgeführt, die auf reale und imaginäre Symbole angewendet werden.
Get-Help | Effekt |
---|---|
Undec Name |
Zeigt die Bedeutung der Dekorationen an, die mit dem angegebenen Symbolnamen verbunden sind. Der Name kann eine beliebige Zeichenfolge sein. Er muss nicht einem aktuell geladenen Symbol entsprechen. Wenn Name C++-Dekorationen enthält, wird die Bedeutung dieser Dekorationen angezeigt. |
Namensadressengröße hinzufügen |
Fügt das angegebene imaginäre Symbol zur Liste der in DBH geladenen Symbole hinzu. Name gibt den Namen des hinzuzufügenden Symbols an, Adresse gibt die hexadezimale Adresse und die Hexadezimalgröße in Bytes an. Dies wird wie jedes andere Symbol in späteren DBH-Befehlen behandelt, bis die DBH-Sitzung mit dem Beenden oder Entladen beendet wird, oder bis das imaginäre Symbol mit del gelöscht wird. Die tatsächliche Zielsymboldatei wird nicht geändert. |
del Name del Address |
Löscht ein imaginäres Symbol, das zuvor mit dem Befehl zum Hinzufügen hinzugefügt wurde. Das Symbol kann entweder anhand des Namens oder der Adresse angegeben werden. Dies kann nicht verwendet werden, um echte Symbole zu löschen. |