| Zeile 17: | Zeile 17: | ||
Falls man mit Fehlern wie Pagefaults, GPFs oder anderen Exceptions kämpft, ist es wichtig, die Registerinhalte vor der Exception zu kennen. Um an diese zu kommen, sind Debug-Funktionen in den Emulatoren ein wertvolles Werkzeug. | Falls man mit Fehlern wie Pagefaults, GPFs oder anderen Exceptions kämpft, ist es wichtig, die Registerinhalte vor der Exception zu kennen. Um an diese zu kommen, sind Debug-Funktionen in den Emulatoren ein wertvolles Werkzeug. | ||
| − | Bei bochs kann dazu der integrierte Debugger benutzt werden. | + | Bei bochs kann dazu der [[Bochs Debugger|integrierte Debugger]] benutzt werden. |
QEMU stellt keinen eigenen Debugger zur Verfügung, ermöglicht aber eine Verbindung mit einem externen (siehe [[GNU Project Debugger und QEMU]]). Oft braucht man aber in Verbindung mit QEMU gar keine komplexen Debug-Funktionen, wenn man nur an die Adresse kommen muss, an der eine Exception auftritt, es den "-d"-Schalter anbietet, um verschiedene Dinge zu loggen. Meist benötigt man ein "-d int", um alle Interrupts aufzuzeichnen. Dabei muss man aber ein wenig aufpassen, da ältere Versionen von QEMU bei einem Triplefault keinen Reset auslösen. Das heißt, er schreibt dann lauter GPFs in die Logdatei und diese wird dabei '''sehr''' groß. Man sollte den QEMU also möglichst schnell schließen, sobald ein Triplefault aufgetreten ist. | QEMU stellt keinen eigenen Debugger zur Verfügung, ermöglicht aber eine Verbindung mit einem externen (siehe [[GNU Project Debugger und QEMU]]). Oft braucht man aber in Verbindung mit QEMU gar keine komplexen Debug-Funktionen, wenn man nur an die Adresse kommen muss, an der eine Exception auftritt, es den "-d"-Schalter anbietet, um verschiedene Dinge zu loggen. Meist benötigt man ein "-d int", um alle Interrupts aufzuzeichnen. Dabei muss man aber ein wenig aufpassen, da ältere Versionen von QEMU bei einem Triplefault keinen Reset auslösen. Das heißt, er schreibt dann lauter GPFs in die Logdatei und diese wird dabei '''sehr''' groß. Man sollte den QEMU also möglichst schnell schließen, sobald ein Triplefault aufgetreten ist. | ||