Betriebssysteme auf Assembler-Ebene analysieren

Gast
VirtualBox hat Debug-Funktionen; jemand hat einen Gdbserver dazu 
implementiert.

http://sysprogs.com/VBoxGDB/tutorial/

So was?

Alternativ kann Bochs so etwas auch.

Besonders leicht wird es allerdings nicht, ein dickes Betriebssystem mit 
Singlestepping zu debuggen; da sind doch einige LoC zu durchqueren, bis 
man mal was gesehen hat. Was hast Du vor?
Gast
Jörg Wunsch schrieb:
> Remote GDB ist für sowas noch eine Variante, geht aber natürlich nicht
> für Windows.  Kenne ich jedoch von FreeBSD, und ich bin mir recht
> sicher,
> dass das auch mit Linux geht.

Funktioniert auch unter Windows.

GDB Server für QEMU, Bochs & Co sind auch für Windowsa zu finden / zu 
übersetzen und
Insight rennt ebenfalls unter Windows.
Gast
Peter schrieb:
> Ich würde gerne ein bestimmtes Betriebssystem (z.B. Windows oder auch
> Linux) schrittweise ausführen.

Das haben die Leute früher bei Win 3.1/NT gemacht, um herauszufinden, 
was Microsoft undokumentiert gelassen hat.

Es ergab sich von selbst, in dem man aus dem Anwenderprogramm im 
Debugger weiter in das Betriebssystem gesteppt ist.

Heutige Betriebssysteme sind einfach zu gross dafür, und Multithreading 
macht es nicht gerade übersichtlicher.

Dafür hast du bei Linux und Win 3.1 und CP/M den Source und kannst 
sowieso sehen, wie sie geschrieben sind.
Gast
MaWin schrieb:
> Das haben die Leute früher bei Win 3.1/NT gemacht, um herauszufinden,
> was Microsoft undokumentiert gelassen hat.
>
> Es ergab sich von selbst, in dem man aus dem Anwenderprogramm im
> Debugger weiter in das Betriebssystem gesteppt ist.

nein nicht wirklich. Damit kommt man in die Runtime. Bis in den Kernel 
kommt man damit nicht wirklich. Denn dann würde der Debugger nicht mehr 
laufen.

Man kann Windows auch über die COM-Schnittstelle debuggen.
Peter II schrieb:
>> Es ergab sich von selbst, in dem man aus dem Anwenderprogramm im
>> Debugger weiter in das Betriebssystem gesteppt ist.
>
> nein nicht wirklich. Damit kommt man in die Runtime. Bis in den Kernel
> kommt man damit nicht wirklich. Denn dann würde der Debugger nicht mehr
> laufen.

Bei einer virtuellen Maschine ist das möglich. Traditionell verwendet 
man dazu eine zweite Maschine, aber wenn die zu debuggende Maschine eine 
VM ist, dann geht das auch auf einer:
https://msdn.microsoft.com/en-us/library/windows/hardware/ff538143(v=vs.85).aspx

Antwort schreiben

Eine eigene Frage? Dieser Thread ist über 11 Jahre alt. Stell sie in einem eigenen Thread – dort lesen mehr Leute mit, und sie wird öfter und schneller beantwortet.

Neuen Thread starten

Eine Lösung, Ergänzung oder Rückmeldung zu diesem Thread? Dann antworte hier.

Formatierung
  • [c]C-Code[/c]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] – Link zu einem Artikel
  • Verweis auf einen anderen Beitrag: Rechtsklick auf dessen Beitrags-ID (#8078628), „Adresse kopieren“, in den Text einfügen

Mehr zur Formatierung

Längeren Sourcecode als Anhang, nicht in den Text. JPG nur für Fotos und Scans; Zeichnungen und Screenshots als PNG oder GIF. Siehe Bildformate.

Schon registriert? Anmelden

Wird nicht angezeigt. Wir schicken dir einen Link; sobald du damit bestätigst, erscheint dein Beitrag.

Mit dem Abschicken legst du einen kostenlosen Account an und erkennst die Nutzungsbedingungen und die Datenschutzerklärung an.