Dies ist der Befehl winedbg-development, der beim kostenlosen Hosting-Anbieter OnWorks mit einer unserer zahlreichen kostenlosen Online-Workstations wie Ubuntu Online, Fedora Online, dem Windows-Online-Emulator oder dem MAC OS-Online-Emulator ausgeführt werden kann
PROGRAMM:
NAME/FUNKTION
winedbg – Wine-Debugger
ZUSAMMENFASSUNG
Weindbg [ Optionen ] [ Programmname [ program_arguments ] | wpid ]
Weindbg --gdb [ Optionen ] [ Programmname [ program_arguments ] | wpid ]
Weindbg --Auto wpid
Weindbg --minidump [ Datei.mdmp ] wpid
Weindbg Datei.mdmp
BESCHREIBUNG
Weindbg ist ein Debugger für Wine. Es erlaubt:
+ Debuggen nativer Win32-Anwendungen
+ Debuggen von Winelib-Anwendungen
+ als Ersatz für Dr. Watson zu fungieren
MODI
Weindbg kann in fünf Modi verwendet werden. Das erste Argument des Programms bestimmt den Modus
winedbg wird einlaufen.
Standard
Ohne expliziten Modus ist dies Standard Weindbg Betriebsart. Weindbg werden wir
fungieren als Frontend für den Benutzer.
--gdb Weindbg wird als Proxy für verwendet gdb. gdb wird das Frontend für den Befehl sein
Handhabung und Weindbg Stellt alle Debugging-Anfragen von weiter gdb zu den Win32-APIs.
--Auto Dieser Modus wird verwendet, wenn Weindbg ist eingerichtet in AeDebug Registrierungseintrag als Standard
Debugger. Weindbg zeigt dann grundlegende Informationen zu einem Absturz an. Das ist nützlich
für Benutzer, die einen Absturz nicht debuggen, sondern relevante Informationen sammeln möchten
über den Absturz, der an die Entwickler gesendet werden soll.
--minidump
Dieser Modus ähnelt dem --Auto eins, außer dass, anstatt das auszudrucken
Informationen auf dem Bildschirm (wie --Auto tut), wird es in einer Minidump-Datei gespeichert. Der
Der Name der Datei wird entweder in der Befehlszeile übergeben oder von generiert WineDbg wann
keine ist gegeben. Diese Datei könnte später erneut geladen werden Weindbg für ein
Untersuchung.
Datei.mdmp
In diesem Modus Weindbg Lädt den Status eines Debuggees neu, der in einem gespeichert wurde
Minidump-Datei. Siehe entweder die Minidump Befehl unten, oder die --minidump Modus.
OPTIONAL
Wenn in Standard Im Modus stehen folgende Optionen zur Verfügung:
--Befehl Schnur
Weindbg führt den Befehl aus Schnur als ob es in der winedbg-Befehlszeile eingegeben worden wäre,
und wird dann beendet. Dies kann nützlich sein, um die PID laufender Prozesse zu ermitteln
(winedbg --command „info proc“).
--Datei Dateinamen
Weindbg führt die Liste der in der Datei Dateiname enthaltenen Befehle aus, als ob sie
wurden in der winedbg-Befehlszeile eingegeben und werden dann beendet.
Wenn in gdb Im Proxy-Modus stehen folgende Optionen zur Verfügung:
--kein Start
gdb wird nicht automatisch gestartet. Relevante Informationen zum Starten gdb is
auf dem Bildschirm gedruckt. Dies ist irgendwie nützlich, wenn es nicht direkt verwendet wird gdb aber einige
grafische Frontends, wie ddd or kgbd.
--with-xterm
Das wird laufen gdb in seinem eigenen xterm, anstatt die aktuelle Unix-Konsole dafür zu verwenden
Textanzeige.
In allen Modi wird der Rest der Befehlszeile bei der Übergabe verwendet, um zu identifizieren, welche
Programme, falls vorhanden, müssen debuggt werden:
Programmname
Dies ist der Name einer ausführbaren Datei, die für eine Debugging-Sitzung gestartet werden soll. Weindbg werden wir
Erstellen Sie tatsächlich einen Prozess mit dieser ausführbaren Datei. Wenn Programme_Argumente Auch
Wenn sie gegeben sind, werden sie als Argumente für die Erstellung des zu debuggenden Prozesses verwendet.
wpid Weindbg wird an den Prozess anhängen, welche Windows-PID ist wpid. Benutze die Info proc
Befehl innerhalb Weindbg um laufende Prozesse und ihre Windows-PIDs aufzulisten.
Standard
Wenn nichts angegeben ist, gelangen Sie zum Debugger, ohne dass dieser ausgeführt oder angehängt wird
Verfahren. Sie müssen die Arbeit selbst erledigen.
BEFEHLE
Standard Modus und während Neuladen a Minidump Datei:
Die meisten Befehle werden in verwendet Weindbg ähneln denen von gdb. Bitte wende dich an die gdb
Weitere Informationen finden Sie in den Dokumentationen. Siehe die gdb Unterschiede Abschnitt später, um eine zu erhalten
Liste der Variationen von gdb Befehle.
Misc. Befehle
abbrechen Bricht den Debugger ab.
verlassen Beendet den Debugger.
anhängen N
An einen Wine-Prozess anhängen (N ist seine Windows-ID, numerisch oder hexadezimal). Ausweise können sein
erhalten mit dem Info Prozessdefinierung Befehl. Beachten Sie das Info Prozessdefinierung Der Befehl kehrt zurück
Hexadezimalwerte
DETACH Trennen Sie sich von einem Weinprozess.
Hilfe Befehle
Hilfe Gibt Hilfe zu den Befehlen aus.
Hilfe Info
Gibt Hilfe zu Info-Befehlen aus
Flow Smartgeräte App Befehle
Konto Setzen Sie die Ausführung bis zum nächsten Haltepunkt oder der nächsten Ausnahme fort.
passieren Übergeben Sie das Ausnahmeereignis an die Filterkette.
Step Setzen Sie die Ausführung bis zur nächsten C-Codezeile fort (gibt den Funktionsaufruf ein).
weiter Ausführung bis zur nächsten C-Codezeile fortsetzen (Funktionsaufruf wird nicht eingegeben)
Schritt Nächste Assembleranweisung ausführen (gibt Funktionsaufruf ein)
nexti Nächste Assembleranweisung ausführen (Funktionsaufruf nicht eingeben)
Fertig Ausführen, bis die Rückkehr der aktuellen Funktion erreicht ist.
Konto, Step, weiter, Schritt, nexti kann eine Zahl (N) vorangestellt werden, was bedeutet, dass der Befehl
muss N-mal ausgeführt werden, bevor die Kontrolle an den Benutzer zurückgegeben wird.
Haltepunkte, Beobachtungspunkte
ermöglichen N
Aktiviert den (Break|Watch)-Punkt N
deaktivieren N
Deaktiviert den (Break|Watch)-Punkt N
löschen N
Löscht den (Break|Watch)-Punkt N
cond N Entfernt alle vorhandenen Bedingungen bis zum (break|watch)-Punkt N
cond N ausdr
Fügt eine Bedingung hinzu ausdr zum (Break|Watch)-Punkt N. ausdr wird jedes Mal ausgewertet
(break|watch)-Punkt wird erreicht. Wenn das Ergebnis ein Nullwert ist, ist dies beim Haltepunkt nicht der Fall
Ausgelöst.
brechen * N
Fügt einen Haltepunkt an der Adresse hinzu N
brechen id
Fügt einen Haltepunkt an der Adresse des Symbols hinzu id
brechen id N
Fügt einen Haltepunkt an der Zeile hinzu N Innensymbol id.
brechen N
Fügt einen Haltepunkt an der Zeile hinzu N der aktuellen Quelldatei.
brechen Fügt derzeit einen Haltepunkt hinzu $PC Adresse.
ZEIT FÜR STORYTELLING * N
Fügt einen Überwachungsbefehl (beim Schreiben) an der Adresse hinzu N (auf 4 Bytes).
ZEIT FÜR STORYTELLING id
Fügt einen Überwachungsbefehl (beim Schreiben) an der Adresse des Symbols hinzu id. Größe hängt von der Größe ab
of id.
rwatch * N
Fügt einen Überwachungsbefehl (beim Lesen) an der Adresse hinzu N (auf 4 Bytes).
rwatch id
Fügt einen Überwachungsbefehl (beim Lesen) an der Adresse des Symbols hinzu id. Die Größe hängt von der Größe ab
id.
Info brechen
Listet alle (Break|Watch)-Punkte (mit ihrem Zustand) auf.
Sie können das Symbol verwenden Einstiegspunkt steht für den Einstiegspunkt der Dll.
Beim Setzen eines (Break|Watch)-Punkts um id, wenn das Symbol nicht gefunden werden kann (z. B. das
Symbol ist in einem noch nicht geladenen Modul enthalten), Weindbg werde mich an den Namen erinnern
Symbol und versucht, den Haltepunkt jedes Mal zu setzen, wenn ein neues Modul geladen wird (bis es
gelingt es).
Stapeln Manipulation
bt Aufrufstapel des aktuellen Threads ausgeben.
bt N Aufrufstapel des Threads mit ID ausgeben N. Hinweis: Die Position ändert sich dadurch nicht
der aktuelle Frame, wie er von der manipuliert wurde up & dn Befehle).
up Geht im Stapel des aktuellen Threads um einen Frame nach oben
up N Geht nach oben N Frames im Stapel des aktuellen Threads
dn Geht im Stapel des aktuellen Threads um einen Frame nach unten
dn N Sinkt N Frames im Stapel des aktuellen Threads
Rahmen N
Sets N als aktueller Frame für den Stapel des aktuellen Threads.
Info Einheimische
Druckt Informationen zu lokalen Variablen für den aktuellen Funktionsrahmen.
Verzeichnis & Quelle Datei Manipulation
erklären dir
Druckt die Liste der Verzeichnisse, in denen nach Quelldateien gesucht wird.
dir Pfadname
Fügt Pfadname zur Liste der Verzeichnisse, in denen nach Quelldateien gesucht werden soll
dir Löscht die Liste der Verzeichnisse, in denen nach Quelldateien gesucht werden soll
Symboldatei Pfadname
Lädt eine externe Symboldefinitionsdatei Pfadname
Symboldatei Pfadname N
Lädt eine externe Symboldefinitionsdatei Pfadname (Anwenden eines Offsets von N zu
Adressen)
Liste Listet 10 Quellzeilen vorwärts von der aktuellen Position auf.
Liste - Listet 10 Quellzeilen rückwärts von der aktuellen Position auf
Liste N Listet 10 Quellzeilen ab Zeile auf N in der aktuellen Datei
Liste Pfadname:N
Listet 10 Quellzeilen ab Zeile auf N im Ordner Pfadname
Liste id
Listet 10 Quellfunktionszeilen auf id
Liste * N
Listet 10 Quellzeilen von der Adresse auf N
Sie können das Endziel angeben (um den 10-Zeilen-Wert zu ändern), indem Sie das Trennzeichen „,“ verwenden. Für
Beispiel:
Liste 123, 234
listet Quellzeilen von Zeile 123 bis Zeile 234 in der aktuellen Datei auf
Liste foo.c:1,56
listet Quellzeilen von Zeile 1 bis 56 in der Datei foo.c auf
Zeige
Eine Anzeige ist ein Ausdruck, der nach der Ausführung eines beliebigen Ausdrucks ausgewertet und gedruckt wird Weindbg
Befehl.
Display
Info Display
Listet die aktiven Anzeigen auf
Display ausdr
Fügt eine Anzeige für den Ausdruck hinzu ausdr
Display /fmt ausdr
Fügt eine Anzeige für den Ausdruck hinzu ausdr. Druck ausgewertet ausdr erfolgt mit dem Gegebenen
Format (siehe drucken Befehl Weitere Informationen zu Formaten)
Restaurants Display N
nicht anzeigen N
Löscht die Anzeige N
Demontage
Unglück Demontage von der aktuellen Position
Unglück ausdr
Demontage von Adresse ausdr
Unglück ausdr,ausdr
Zerlegt den Code zwischen den durch die beiden Ausdrücke angegebenen Adressen
Memory (Lektüre, Schreiben, Tippen)
x ausdr Untersucht den Speicher an der Adresse ausdr
x /fmt ausdr
Untersucht den Speicher an der Adresse ausdr Format verwenden fmt
drucken ausdr
Gibt den Wert von aus ausdr (möglicherweise unter Verwendung seines Typs)
drucken /fmt ausdr
Gibt den Wert von aus ausdr (möglicherweise unter Verwendung seines Typs)
kompensieren jung = ausdr
Schreibt den Wert von ausdr in jung Variable
was ist ausdr
Druckt den Ausdruck vom Typ C ausdr
fmt entweder Brief or zählen Brief, Wobei Brief lassen sich:
ist eine ASCII-Zeichenfolge
ua UTF16-Unicode-Zeichenfolge
i Anleitung (zerlegen)
x 32-Bit-Hexadezimal-Ganzzahl ohne Vorzeichen
d 32-Bit-Dezimal-Ganzzahl mit Vorzeichen
w 16-Bit-Hexadezimal-Ganzzahl ohne Vorzeichen
c-Zeichen (nur druckbare 0x20-0x7f werden tatsächlich gedruckt)
b 8-Bit-hexadezimale Ganzzahl ohne Vorzeichen
g Win32-GUID
Ausdrücke
Ausdrücke im Wine Debugger werden meist in C-Form geschrieben. Es gibt jedoch einige
Abweichungen:
Bezeichner können ein „!“ annehmen. in ihren Namen. Dies ermöglicht hauptsächlich die Angabe eines Moduls
wo man den Ausweis finden kann, z.B USER32!CreateWindowExA.
Wenn Sie in einer Umwandlungsoperation eine Struktur oder eine Union angeben, müssen Sie die Struktur verwenden
oder Union-Schlüsselwort (auch wenn Ihr Programm eine Typedef verwendet).
Wenn bei der Angabe eines Bezeichners mehrere Symbole mit diesem Namen vorhanden sind, wird der Debugger dies tun
Sie werden aufgefordert, das Symbol einzugeben, das Sie verwenden möchten. Wählen Sie die gewünschte Nummer unter der entsprechenden Nummer aus.
Misc.
Minidump Datei.mdmp speichert den Debugging-Kontext des zu debuggenden Objekts in einer Minidump-Datei namens
Datei.mdmp.
Informationen on Wine Einbauten
Info Klasse
Listet alle in Wine registrierten Windows-Klassen auf
Info Klasse id
Gibt Informationen zur Windows-Klasse aus id
Info Teilen
Listet alle im debuggten Programm geladenen dynamischen Bibliotheken auf (einschließlich .so).
Dateien, NE- und PE-DLLs)
Info Teilen N
Druckt Informationen zum Modul an der Adresse N
Info regs
Druckt den Wert der CPU-Register
Info alle regs
Druckt den Wert der CPU- und Gleitkommaregister
Info Segment
Listet alle zugewiesenen Segmente auf (nur i386)
Info Segment N
Druckt Informationen zum Segment N (nur i386)
Info Stapel
Druckt die Werte oben auf dem Stapel
Info Karte
Listet alle vom debuggten Programm verwendeten virtuellen Zuordnungen auf
Info Karte N
Listet alle virtuellen Zuordnungen auf, die vom Programm Windows pid verwendet werden N
Info wnd
Zeigt die Fensterhierarchie beginnend mit dem Desktop-Fenster an
Info wnd N
Druckt Informationen zum Fenster des Handles N
Info Prozessdefinierung
Listet alle W-Prozesse in der Wine-Sitzung auf
Info Faden
Listet alle W-Threads in der Wine-Sitzung auf
Info Rahmen
Listet die Ausnahmerahmen auf (beginnend mit dem aktuellen Stapelrahmen). Sie können auch bestehen,
als optionales Argument eine Thread-ID (anstelle des aktuellen Threads), um ihn zu untersuchen
Ausnahmerahmen.
Debug-Meldungen können beim Debuggen mit dem ein- und ausgeschaltet werden kompensieren Befehl, aber
Nur für Kanäle, die mit dem initialisiert wurden WEINKÄFER variable Umgebung
kompensieren warnen + gewinnen
Schaltet die Warnung ein gewinnen Kanal
kompensieren + gewinnen
Aktiviert Warnung/Fixme/Err/Trace gewinnen Kanal
kompensieren - gewinnen
Schaltet „warn/fixme/err/trace“ aus gewinnen Kanal
kompensieren repariere mich - alle
Schaltet die Fixme-Klasse auf allen Kanälen aus
Gdb Modus:
Siehe die gdb Dokumentation für alle gdb Befehle.
Es sind jedoch einige Wine-Erweiterungen über verfügbar Monitor Befehl:
Monitor wnd
Listet alle Fenster in der Wine-Sitzung auf
Monitor proc
Listet alle Prozesse in der Wine-Sitzung auf
Monitor Mitglied
Zeigt die Speicherzuordnung des debuggten Prozesses an
Auto und Minidump Modi:
Da keine Benutzereingaben möglich sind, stehen keine Befehle zur Verfügung.
WINE_GDB
Bei Verwendung in gdb Proxy-Modus, WINE_GDB Gibt den Namen (und den Pfad) des an
ausführbare Datei, für die verwendet werden soll gdb. Standardmäßig wird „gdb“ verwendet.
AUTOREN
Die erste Version wurde von Eric Youngdale geschrieben.
Weitere Mitwirkende finden Sie in der Wine-Entwicklerliste.
Nutzen Sie winedbg-development online über die Dienste von onworks.net