Jetzt gibt es ein unvergleichbares Shareware-Programm für Programmierer und Hacker: SysMon. Was geht im System vor? Welches Programm ruft welche Funktionen mit welchen Parametern auf? Das sind nur einige Fragen, die SysMon souverän löst.
Schon ein Blick auf die Programmlänge (ca. 120 KByte) und den Umfang der Dokumentation (ca. 80 KByte) läßt erahnen, welche Vielfalt und Leistung in SysMon steckt. Den ersten Eindruck bekommen Sie bereits bei der Installation: SysMon läuft in jeder Konfiguration vom 260 ST bis hin zum TT mit 68030-Prozessor, mit OverScan und mit allen Großbildschirmen und läßt sich auf Wunsch auch über die RS232-, Centronics und MIDI-Schnittstelle steuern. Nach dem Starten analysiert SysMon das System und richtet sich resident im Hintergrund ein. Sie aktivieren SysMon jederzeit durch gleichzeitiges Drücken der rechten SHIFT-Taste und HELP.
SysMon hat eine eigene Drop-Down-Menüstruktur, die Sie über die linke und rechte Cursortaste steuern. Die Menüpunkte klappen in Fenstern herunter. Im ersten Menü »Sys-Mon« sind alle Funktionen zum Konfigurieren des Programms und zum Anzeigen detaillierter Informationen über das System enthalten. Der Menüpunkt »Prglist« listet alle im Speicher vorhandenen Programme auf und gibt zu jedem an, von welcher Art (Auto-Prg., Accessory...) es ist, welches AES-und VDI-Handle ihm zugeordnet ist und wo es im Speicher liegt. Genauere Informationen über die Speicherbelegung erhalten Sie im Menüpunkt »Memlist« (Bild 1). Dabei erfahren Sie die Adressen der Memory-Deskriptoren und belegten Speicherblöcke. Außerdem listet SysMon auf, welches Programm den Speicherblock zu welchem Zweck (z.B. für Resource-Daten) belegt. Ein weiterer Menüpunkt »Traps&Vektors« (Bild 2) verschafft Ihnen Einblick in die Belegung aller Traps und Vektoren. SysMon zeigt Name und Adresse des Vektors (z.B. $e3e:Kdbvbase()-mousevec), die Vektoradresse und das Programm an, in das der Vektor zeigt. Dabei erkennt SysMon XBRA-Listen, verfolgt sie bis zum Ursprung zurück und zählt alle in der Liste gefunden Programme auf. Der Menüpunkt »OS Vars« informiert Sie über den Zustand alle Betriebssystemvariablen, so u.a. über System-, LineA- und VDI-Workstation-Variablen, Programm-Deskriptoren und Cookie-Jar-Einträge. Außerdem stellt Ihnen das »SysMon«-Menü einen Notizblock zur Verfügung und erlaubt Ihnen, auf verschiedene SysMon-Konfigurationen umzuschalten.
Kommen wir zum interessantesten Feature von SysMon - dem Tracen der Systemfunktionen. Selektieren Sie das »AES«, »VDI«, »GEMDOS«, »BIOS« oder »XBIOS«-Menü, so erscheint ein Fenster, in dem alle entsprechenden Funktionen mit Funktionsnummer und Namen aufgelistet sind. Ein »+« hinter dem Funktionsnamen gibt an, daß SysMon die Funktion überwachen soll. Haben Sie im »Sys-Mon«-Menü das Profiling einschaltet, so steht hinter jeder Funktion die Anzahl seiner Aufrufe. Mit Insert und Delete aktivieren und deaktivieren Sie die Überwachung von Funktionen. Mit einer weiteren Taste setzen Sie für spezielle Funktionen Breakpoints. Verlassen Sie nun mittels der Leertaste SysMon, so protokolliert SysMon alle Aufrufe der selektierten Funktionen (Bild 3).
Bei jedem Funktionsaufruf findet SysMon die Rücksprungadresse, den Namen der Funktion, die übergebenen und zurückgegebenen Parameter und den Aufrufer heraus. Die Argumente und Rückgabewerte der Funktionen schlüsselt SysMon dabei automatisch auf. Einen »Mshrink«-Aufruf stellt SysMon beispielsweise folgendermaßen dar:
STUFFER Mshrink $05F1B4 <Size $098E4C/
626252> NewSize 54204
-> Ok
Diese Zeile gibt an, daß die Funktion vom Programm »STUFFER« aufgerufen wurde.
Das Programm hat die Adresse ($5f1b4) eines Speicherblocks mit einer Länge von $98e4c/626252 Byte übergeben. Die Funktion liefert die neue Speicherblockgröße 54204 zurück.
SysMon ist beim Tracen von Funktionen sehr flexibel. So erkennt es z.B. Verschachtelungen von Funktionen, Aufrufe aus dem Supervisor-Modus und Prozesswechsel. Außerdem schlüsselt SysMon Funktionsargumente auf, die lediglich Referenzen auf Strukturen sind.
SysMon kennt zum Tracen vier Modi:
Alle Fähigkeiten von SysMon aufzuzählen, würde den Rahmen dieses Artikels sprengen. Testen Sie Sysmon einfach selbst. Durch das Shareware-Konzept ist ein Test für Sie nahezu kostenlos.
Das Programmpaket SysMon erhalten Sie in allen wichtigen Mailboxen (z.B. MausNet) oder gegen einen frankierten Rückumschlag und eine 3,5-Zoll-Diskette auch direkt beim Autor Die Adresse lautet:
Karsten Isakovic WilmersdorferStr. 82 1000 Berlin 12
Da SysMon ein sehr komplexes Produkt ist, dessen Benutzung einiges an Wissen voraussetzt, hat sich der Autor für das Konzept der Shareware entschieden. Danach dürfen Sie SysMon frei kopieren und ausprobieren. Bei regelmäßiger Benutzung sollten Sie einen Shareware-Betrag von 50 Mark an den Autor richten. Alles weitere erfahren Sie in der Dokumentation.