debugger.htmlTEXTMOSS緁mBIN9 Mac OS 8.1 (intern):Desktop Folder:Turbo Freezer:debugger.html

- 11 -

4. Der Debugger

Ein Debugger wird von Maschinencode-Kennern benutzt um Objektcode direkt im Speicher zwecks Fehlersuche, Veränderungen und Verbesserungen zu bearbeiten. In der Umgebung eines Freezers hat das besondere Vorzüge, allerdings auch ein paar prinzipbedingte Nachteile, die sich durch die richtige Arbeitsweise umgehen lassen.

Der größte Vorzug ist zweifellos der, daß mit dem eingefrorenen Systemzustand gearbeitet werden kann. Es entsteht dabei der Eindruck. quasi mit einem zweiten Atari in den ersten, gestoppten Atari "hineinsehen" und ändern zu können, wobei der Stop jederzeit wieder aufgehoben werden kann. Debugger ohne Freezer haben hier mit schwierigen Problemen zu kämpfen. da sie allein durch ihren Eigenbedarf an RAM und Ein-/Ausgabeaktionen den Systemzustand laufend verändern. Der Fachausdruck dafür ist "trashen". was für "zu Müll verwandeln" steht.

Ein normaler Debugger braucht für seine eigene Funktion RAM und trasht die Informationen, die das zu bearbeitende Programm dort abgelegt haben kann. Selbst wenn der Debugger aufwendiger ausgestattet ist (durch eigenen RAM) trasht er immer noch die Hardwareregister von ANTIC, POKEY und GTIA. Die OS-Shadows ignorieren die Player-Missile Graphik und die Sounderzeugung und werden von vielen Programmen sowieso deaktiviert. Durch die getrashten Hardwareregister ist ein Wiederstart eines Programms in der Regel nur nach sehr mühseliger Kleinarbeit, wenn überhaupt, möglich. Abgesehen davon bieten Debugger ohne Freezer keine Möglichkeit, die (nicht lesbaren!) Hardwareregister auszulesen. man kommt also an die hineingeschriebenen Werte auch dann nicht heran, wenn das Register vom Debugger nicht getrasht worden ist.

Mit dem im TURBO-FREEZER XL eingebauten Debugger kommt man an alle Informationen über den Systemzustand heran. Die Hardwareregisterinhalte (der echte Inhalt, nicht die zurückgegebenen Statuswerte) können im I/0 Bereich gelesen und auf Wunsch geändert werden, ohne Abstürze befürchten zu müssen. da sich die Änderungen ja nur auf das eingefrorene Programm beziehen! Ebenso kann beliebig im gesamten RAM-Bereich gearbeitet werden (auch unter den OS-ROMs), ohne daß irgend etwas getrasht wird oder abstürzt.

Hinzu kommen verschiedene Vorzüge, die sich aus der Arbeitsumgebung des TURBO-FREEZER XL ergeben. Mit den Lade- und Speichermöglichkeiten für eingefrorene Programme und den DOS- Funktionen können Änderungen ohne lange Umladerei sofort ausprobiert und bei Bedarf auch mühelos wieder rückgängig gemacht werden. Wiederspenstige Codemonster, die beim Laden Teile des DOS überschreiben und sich auf herkömmliche Weise kaum bearbeiten lassen verlieren ihre.Schrecken.

Ein Paar Nachteile gibt es allerdings auch. Dadurch. daß mit dem eingefrorenen Systemzustand gearbeitet wird, Änderungen also erst nach dem Auftauen Wirkung zeigen, wird es umständlich, z.B. in der Ram-Disk zu arbeiten. Nach dem Auftauen befindet sich das Programm wieder in voller Aktion, dadurch ist ein Start an einer anderen Stelle als dem Einfrierpunkt in einigen Fällen erst nach sorgfältigem Abschalten über die eingefrorenen Hardwareregister möglich.