Gibt es einen Debugger, der von einer virtuellen Maschine Host funktioniert?Debugging-Code in einer virtuellen Maschine mit dem Host ausgeführt
Das heißt, anstelle von Interrupts innerhalb der Maschine erwarte ich, dass dieser Debugger die OS-Routinen, Speicherorte usw. der virtuellen Maschine erkennt und erkennt, wenn das Betriebssystem eine EXE-Datei von certian startet. Dann möchte ich Hardware-wie Breakpoints pro Prozess über den Host-Computer setzen können. Ich werde klären. Der virtualisierte Computer und das virtualisierte Betriebssystem würden niemals wissen, dass der Haltepunkt gesetzt oder aufgetreten ist. Die gesamte Debug-Behandlung würde vom Host-Computer durchgeführt, der einen virtuellen Computer emuliert.
Dies würde viel stärkeren Breakpoint-Mechanismus ermöglichen, zum Beispiel "brechen, wenn bestimmte Daten vom CD-ROM-Laufwerk gelesen werden" oder "brechen, wenn eine bestimmte Datei auf der Festplatte die folgende Bytefolge enthält".
Dieser Ansatz wird zum Beispiel auch anti-debugger Techniken beseitigen, die das Verhalten der ausführbaren Datei ändern sollen, wenn sie unter einem Debugger laufen. (OTOH eröffnet einen neuen Bereich von Anti-Virtualisierungstechniken, der auf kleinen Unterschieden zwischen emuliertem Computer und realer Hardware beruht).
Gibt es ein solches Produkt? Sieht es nach einer guten Idee aus?
Ich wünschte, ich könnte zwei Antworten akzeptieren. Danke trotzdem. –