emulator + debugger
-
Hallöchen
Wir programmieren unter Linux mit C++ ein eigenes kleines Betriebssystem (Praktikum für die Uni) und wollen dies nun gern testen. Das Problem ist, wir wollen es auch gern debuggen, nur leider sind wir so tief in der Materie, daß ich es nur auf einem Emulator laufen lassen kann, ohne ein "Segmentation fault" zu bekommen (wir schreiben teilweise in den Registern rum).
Durch unsere Vorgaben testen wir das entstandene Image immer im bochs. Das Problem eben nur: wenn etwas schief geht, wie debugge ich vernünftig. Zwar gibt es die ein oder andere Anleitung, wie ich ein im bochs laufendes System mit gdb (bzw. ddd) debuggen kann, nur leider funktioniert das bei uns nicht wirklich. Wir kriegen immer ein "reply contains invalid hex digit 78". Nun sind wir auf qemu umgestiegen, nur dort läuft unser Programm nicht. Zwar können wir es debuggen und gdb bekommt auch eine Verbindung zu qemu, jedoch stürzt anscheinend qemu ab. Das selbe Image läuft (ohne im debugging modus zu sein) im bochs prima durch, in qemu (ebenfalls ohne debugging modus) schafft es gerade mal den Bildschirm zu löschen (führt also schon unseren Code aus), schafft es jedoch nicht, weitere Ausgaben zu schreiben. Wenn ich debugge bleibt entweder gdb oder aber qemu hängen beim Aufruf der Funktion, in der wir auf den Bildschirm schreiben wollen.Nun wollt ich fragen, ab hier jemand vielleicht noch eine Alternative zu dieser Art des debuggings hat (also einen emulator mit einer möglichen Anbindung zum gdb bzw einen anderen Debugger) oder aber vielleicht hat ja jemand Erfahrung, wie ich bochs mit gdb zusammen bekomme.
Gruß Maddin