home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Vectronix 2
/
VECTRONIX2.iso
/
FILES_01
/
SYSTEMON.LZH
/
SYSMON
/
FEATURES
< prev
next >
Wrap
Text File
|
1990-06-20
|
8KB
|
197 lines
Was ist SysMon ?
----------------
- SysMon ist ein System-Monitor, der sämtliche ablaufenden
System-Funktionen anzeigen kann.
- SysMon ist au₧erdem ein Monitor, der sämtliche System-Resourcen
anzeigen kann.
- Da SysMon komplett aus dem Speicher entfernt werden kann,ist er
'quasiresident'.
Zielgruppe
----------
- Programmierer und Software Entwickler,
- die eigene Programme überprüfen wollen;
- die die Arbeitsweise anderer Programme feststellen wollen;
- die wissen wollen, wie sich bestimmte Programme in das System
einklinken, welche Aufrufe sie abfangen, modifizieren oder
hinter welche Aufrufe sie sich einhängen;
- die die Interprozess-Kommunikation am Austausch von AES-Messages
beobachten wollen;
- die die Häufigkeit einzelner Systemaufrufe interessiert, damit
sie ihre Programme verbessern können;
- die Interesse an den internen Abläufen des Systems haben.
- Hobby-Programmierer,
- die anhand anderer Programme ihr Wissen und ihre Möglichkeiten
erweitern wollen;
- die einen tieferen Einblick oder Überblick über den Rechner
gewinnen wollen.
A. Allgemeines
--------------
Bedienung
---------
- SysMon arbeitet mit einem Fenstersystem, da₧ mit der Tastatur
bedient wird.
- Der Zustand des 'Tracers' ist mit einem Blick festzustellen.
- Die wichtigsten Kommandos sind Control-Codes, die in allen
Fenstern gelten.
- Es gibt Funktionen, um sich schell zur gesuchten Information
zu bewegen.
Ein/Ausgabe
-----------
- SysMon läuft unter allen Auflösungen des ST, auch OverScan und
AutoSwitch-OverScan.
- SysMon läuft mit der MATRIX-SW- und Color-Karte und der
MAXON-MGE.
- SysMon läuft auf allen ST's, auch dem STE und dem TT.
- SysMon läuft unter allen bekannten TOS-Versionen, bei unbekannten
Versionen pa₧t es sich selber an (AutoPatch).
- SysMon läuft mit 68000-68030.
- Die Ein/Ausgaben können auch auf RS232-, Centronics- oder Midi-Port
umgeleitet werden.
- Alle Trace-Ausgaben von SysMon können in einem Protokollfile
gespeichert werden.
- Die Profilingdaten können im Protokollfile gespeichert werden.
- Alle Fenster von SysMon können im Protokollfile abgelegt werden.
- Es gibt eine Notizblock-Funktion, damit man einfach Kommentare im
Protokollfile unterbringen kann.
Setups
------
- Es gibt 10 verschiedene Setups, die gespeichert werden können.
- Für jedes Setup kann der Modus, die angewählten Programme und
Funktionen festgelegt werden.
B. Der Tracer
--------------
1.Modi
------
- Es gibt 4 Modi : RUN, STEP, WAIT und HALT.
- RUN laufende Ausgaben
- STEP schrittweise Abarbeitung
- WAIT warten bis Breakpoint
- HALT Stop beim nächsten Systemaufruf
- Für jedes geladene Programm kann man den Modus festlegen.
- Für jeden Trap kann man bestimmen,ob er getraced wird.
- Für jede Funktion kann man den Modus festlegen.
2.Tracer-Ausgaben
-----------------
- Es werden alle Eingangsparameter ausgegeben.
- Auch alle Ausgangsparameter werden ausgegeben.
- Bei allen Strukturen können die Elemente angezeigt werden.
- Die meisten Parameter sind mit einer Kurzbezeichnung versehen.
- Alle Konstanten werden im Klartext ausgegeben.
- Dazugehörige Informationen können ausgegeben werden
- z.B. bei AES-Funktionen mit Objekten deren Typ und String;
- z.B. bei Filefunktionen mit Filehandle den Filenamen;
- z.B. bei Speicherfunktionen die Blockgrö₧e;
- z.B. bei LineA-Funktionen die zugehörigen Variablen.
- Für jeden Aufruf kann
- die Rücksprungadresse,
- der Name des aufrufenden Programms,
- der Stapelzeiger,
- der Prozessormodus,
- die Funktionsnummer
ausgegeben werden.
- Verschachtelte Aufrufe werden durch Einrückungen kenntlich gemacht.
(Fread hat z.B. Rwabs zur Folge...)
3.Besonderheiten
----------------
- SysMon kennt verschiedene ACC-Protokolle, von DEGAS, CLIPBRD über
GEMINI bis zum XACC-Protokoll.
- SysMon kennt auch die Netzwerkprotokolle und die erweiterten
Gemdos-Funktionen.
- SysMon ist MultiTasking tauglich, es kommt auch mit System-Aufrufen
aus Interrupts und mit verschiedenen MultiTasking-Systemen wie
z.B. dem RTX klar.
- Das Profiling erlaubt es, die Häufigkeit von bestimmten Aufrufen
zu zählen.
- Man kann ausgeben lassen, welche Aufrufe von anderen Programme
abgefangen werden (FileSelectorBoxen...)
- SysMon bemerkt, wenn andere Programme einen Aufruf modifizieren.
- SysMon bemerkt, wenn sich andere Programme hinter einen Aufruf
hängen.
4.Trap Überwachung
------------------
- SysMon bemerkt Veränderungen von Traps und lä₧t sich nicht aus den
System-Vektoren entfernen.
- SysMon kommt mit Programmen, die sich in die Traps hängen, zurecht.
- Es entstehen auch keine Probleme, wenn die Programme sich wieder
entfernen.
- SysMon kann sich selber wieder aus den Traps aushängen.
C. Ausgabe von SystemResourcen
------------------------------
1.Programme
-----------
- SysMon erkennt alle geladenen Programme, auch diejenigen, die vor
SysMon gestartet wurden.
- Bei residenten Programmen werden auch Datenbereiche erkannt.
- SysMon kennt alle XBRA-Kennungen und die dazugehörigen Programme.
- Bei vorher geladenen Programmen ist sogar der Name bekannt,
wenn das Programm eine XBRA-Kennung hat oder ein ACC ist.
2.Speicher
----------
- Die Speicherliste ist eine vollständige Liste aller Speicherblöcke.
- Die Speicherliste enthält auch alle residenten Bereiche.
- Jedem Speicherbereich wird eine Kennung zugeordnet. Erkannt werden:
- Codebereiche,
- VDI-Workstations,
- AES-Blöcke,
- geladene GEM-Fonts,
- Resourcen,
- PDs,
- Enviroments,
- LineF-Handler.
3.Variablen
-----------
- Alle Systemvariablen von $400 - $5A0.
- Alle (auch die nicht vom System genutzten) Traps und Vektoren
werden mit XBRA-Ketten angezeigt.
- Alle LineA-Variablen.
- Alle negativen LineA-Variablen.
- Die Font-Header aller geladenen Fonts und Systemfonts.
- Die Program-Header/Basepages/Cartridge-Header aller Programme.
- Die Daten aller geöffneten VDI-Workstations.
- Der System-Header.
- Alle Cookies; System-Cookies werden weiter aufgeschlüsselt.
D. Beispiele für die Anwendung
------------------------------
- Stepweises Booten des Rechners.
- Alle Aufrufe beim Wechseln der Auflösung in das Protokollfile
schreiben.
- Die Funktionsweise der neuen FileSelectorBoxen herausfinden.
- Das Messageprotokoll zwischen GEMINI und CLIPBOARD.ACC beobachten.
- Das 'MultiTasking' des MultiAcc's STUFFER.ACC herausfinden.
- Feststellen, wieviel Speicher ein Programm wirklich belegt.
- Welche Vektoren von einem Programm verändert werden.
- Herausfinden, da₧ der häufigste Aufruf während des Aufbaus des
Desktops der 'vsl_udsty' Aufruf ist, wobei für 2 gezeichnete
'v_plines' 3 'vsl_udsty' mit denselben Parametern benutzt werden.
- Herausfinden, da₧ der Desktop versucht Speicher freizugeben, der
ihm nicht gehört.
- Herausfinden, da₧ unter bestimmten Umständen immer derselbe
VDI-Handle vergeben wird. (Und daraufhin VDI_FIX schreiben :-)
- Herausfinden, da₧ viele Patches und Programme immer noch nicht
das XBRA-Protokoll unterstützen.
- Plötzlich feststellen, da₧ ein 'Unbekannter' einen 'Rwabs'
Aufruf absetzt, und einen Virus im Rechner entdecken...
- Programmfehler und Abstürze im Protokollfile dokumentieren, um
in Ruhe darüber nachdenken zu können.
- Den schlechten Programmierstil einiger Autoren dokumentieren
und ihnen das Protokollfile ihrer 'Sünden' zuschicken.
Karsten Isakovic, März 90 in Berlin