Lowlevel

Lowlevel => Lowlevel-Coding => Thema gestartet von: bitmaster am 03. October 2008, 15:25

Titel: Qemu und Debbuger
Beitrag von: bitmaster am 03. October 2008, 15:25
Hi,

unter Bochs kann ich mit bochsdbg (gibts nicht für linux???) mein OS debuggen. Jetzt hätte ich gerne so etwas bei qemu. Also wenn ich z.B. eine adresse angebe soll qemu an dieser stoppen. Also z.B.:

lbreak 0x10000 ;soppt wenn rip = 0x10000
und dann kann ich kommandos wie z.B. s 1 eingeben, dann wird ein Befehl ausgeführt oder s 2 dann zwei usw. mit r kann ich mir dann den Wert der Register anzeigen lassen. Gibt es so etwas auch für qemu?

Und kann man so etwas mit VMware auch machen? Habe mal was vom VMware debugger gehört. Aber kann der auch so etwas?

thx
Titel: Re: Qemu und Debbuger
Beitrag von: kevin am 03. October 2008, 15:50
lbreak 0x10000 ;soppt wenn rip = 0x10000
und dann kann ich kommandos wie z.B. s 1 eingeben, dann wird ein Befehl ausgeführt oder s 2 dann zwei usw. mit r kann ich mir dann den Wert der Register anzeigen lassen. Gibt es so etwas auch für qemu?
qemu hat einen gdbstub (im Monitor gdbserver eingeben), dann kannst du im gdb mit "target remote localhost:1234" darauf verbinden. Anzeigen lassen kannst du dir auch relativ viel direkt im Monitor, aber zum Singlesteppen brauchst du gdb.

Zitat
Und kann man so etwas mit VMware auch machen? Habe mal was vom VMware debugger gehört. Aber kann der auch so etwas?
Kenne ich nicht.
Titel: Re: Qemu und Debbuger
Beitrag von: bitmaster am 03. October 2008, 16:54
Also wenn ich gdbserver eingebe passiert gar nichts. Und wenn ich dann target blabla eingebe, sagt qemu mir: unknown command: 'target'

Wieso so kompliziert localhost 1234? Hmm...


EDIT: Ah qemu gibt bei Eingabe von gdbserver auf der Konsole folgendes aus:

Could not open gdbserver socket on port '1234'