home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Vectronix 2
/
VECTRONIX2.iso
/
FILES_01
/
SMON109A.LZH
/
SYS_MON.MAN
< prev
next >
Wrap
Text File
|
1994-03-27
|
103KB
|
2,198 lines
*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#
⌠ SysMon der ATARI-ST SystemMonitor Version 1.0.9 ⌠
|-------------------------------------------------|
⌡ Copyright (C) by Karsten Isakovic, Berlin ⌡
ist ein Shareware Programm von
Karsten Isakovic geb. Gerlach
Wilmersdorfer Str. 82
10629 Berlin
*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#
ALLGEMEINES
WAS IST SYSMON
SysMon ist ein System Monitor, der genau an der Schnittstelle
zwischen Betriebssystem und anderen Programmen sitzt, die mit diesem
Betriebssystem arbeiten. SysMon ermöglicht es, die Aufrufe an das
Betriebssystem mitzuprotokollieren. Er ist auch in der Lage, den
Zustand einzelner Systemresourcen - wie Speicherblöcke und System-
vektoren - anzuzeigen.
Monitor bedeutet aber auch, da₧ der Zustand des Systems nur
beobachtet und nicht verändert werden kann.
WAS LEISTET SYSMON
SysMon gliedert sich in zwei generelle Teile. Der erste Teil kann die
Aufrufe von Systemfunktionen mitprotokollieren ( Der Tracer ) und der
zweite Teil ist für die Anzeige von Systemresourcen zuständig ( Der
Monitor ).
TRACER
Der Tracer unterstützt alle dokumentierten Systemfunktionen und ist
in weiten Bereichen konfigurierbar. Der Tracer kann alle Aufrufe von
Systemfunktionen durch das Betriebssystem oder von Programmen mit-
protokollieren. Einzelne Systemaufrufe können bei der Ausgabe unter-
drückt und einzelne Programme vom Tracen ausgenommen werden. Die
Ausgaben können über verschiedene Einstellungen den jeweiligen
Bedürfnissen angepa₧t werden. Es sind sehr viele Erweiterungen in den
Tracer eingebaut, es werden zum Beispiel alle bekannten Message-
Protokolle, die zur Kommunikation zwischen Applikationen und den
quasiparallen Accessories dienen, unterstützt.
MONITOR
Der Monitor zeigt mehrere Informationen wie Speicherblöcke, System-
vektoren und Strukturen, die teilweise nur systemintern dokumentiert
sind. Die Systemvektoren bestimmen, welche Programme auf einzelne
Funktionen des Systems Einflu₧ nehmen. Die Speicheranzeige zeigt
nicht nur die Länge der einzelnen Bereiche, sondern macht auch
Aussagen über deren Inhalt und das Programm, welches den Bereich
angefordert hat. Au₧erdem werden sämtliche dokumentierten System-
variablen und Strukturen angezeigt.
Beim Starten installiert sich SysMon in den Systemvektoren und unter-
sucht den Speicher nach vorher geladenen Programmen. Wird SysMon dann
über eine bestimmte Tastenkombination aktiviert, kann man alle
folgenden Systemaufrufe dokumentieren.
Da SysMon ziemlich viel Speicher benötigt (ca 300 KB) und somit auf
Rechnern mit wenig Speicher nicht permanent geladen werden kann, ist
er in der Lage, sich selber wieder komplett aus dem System zu
entfernen.
Durch diese Möglichkeiten eigenet sich SysMon vorzüglich zum Debuggen
von eigenen Programmen oder zur Analyse von fremden Programmen. Auch
früher besonders schwer zu debuggende Probleme, wie die Kommunikation
zwischen verschiedenen Prozessen, sind mit SysMon schnell und einfach
zu bewerkstelligen.
*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#
DIE BENUTZERSCHNITTSTELLE VON SYSMON
-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
BEDIENUNGSKONZEPT
Die Benutzeroberfläche von SysMon ist als einfaches Menü- und
Fenstersystem ausgeführt, das an die bekannte Benutzeroberfläche des
Atari ST angelehnt ist.
Die Menüleiste und die Fenster sind durch Zeichen aus Character-
Graphiken nachgebildet. Die Bedienung erfolgt - im Gegensatz zum
Vorbild, das mit der Maus bedient wird - komplett über die Tastatur.
Die SysMon Oberfläche wird auf einer zweiten, verdeckten Bildschirm-
Speicherseite des Atari ST dargestellt, damit die Ausgaben der
debuggten Programme ohne Störungen auf der normalen Bildschirm-
Speicherseite geschehen können. Auf diese Weise ist der SysMon
transparent (d.h. für das System nicht sichtbar), kann aber trotzdem
eigene Ausgaben machen.
Zwischen dem Orginal- und dem SysMon-Bildschirm kann jederzeit durch
eine einfache Tastenkombination umgeschaltet werden.
Die Vorteile dieses Konzeptes sind
- einfache Bedienung, da bekannte Vorgehensweisen nachgeahmt werden.
- die Menü- und Fensterstruktur verdeutlicht den hierarchischen
Aufbau des SysMon
- durch die Reduktion auf Tastaturbedienung und einfache Character-
Graphiken wird der SysMon nicht mit Funktionen der Oberfläche
überladen, sondern behält den Charakter eines Tools (Werkzeugs)
- komplett eigene Routinen zur Ein- und Ausgabe auf der eigenen
Bildschirmseite, dadurch ist SysMon vom Betriebssystem abgekoppelt.
In jedem Fenster oder Untermenü wird die aktuelle Zeile durch
Invertierung gesondert hervorgehoben. Dort bewegt man sich mit Hilfe
des Cursotasten. Der selektierte Eintrag wird mit der RETURN-Taste
angewählt. Um eine schnellere Bedienung der Menüs zu ermöglichen,
sind die Einträge in den Menüs einerseits über den jeweiligen
Anfangsbuchstaben anwählbar, andererseits kann der Cursor mit Hilfe
von Sondertasten in grö₧eren Sprüngen bewegt werden.
-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
MENUELEISTE
Die Menüleiste befindet sich am oberen Bildschirmrand, wie es unter
GEM üblich ist. Die einzelnen Einträge verbergen Untermenüs, die beim
Anwählen des Menütitels heruntergeklappt werden.
___________________________________________________________________
⌠ Sys-Mon Aes Vdi Gemdos Bios Xbios LineA 1:SysMon ⌠
⌡-⌠-----------------⌠------------------------------------Run-Mode-⌡
| Config. tracer |
| Program setup |
| New prog. |
| Used traps |
| proFile menu |
| Display conf. |
|-----------------|
| Traps & vectors |
| Memory list |
| OS-var. list |
|-----------------|
| Edit notepad |
| ReRead setup |
| Write setup |
|-----------------|
| regIstration |
|-----------------|
| QUIT sysmon |
⌡-----------------⌡
Der Menüeintrag mit dem Titel SysMon verbirgt ein Untermenü, von dem
aus die einzelnen Fenster des SysMon geöffnet werden. Der linke
Menütitel entspricht dem Desktop-Titel einer normalen GEM-Menüleiste.
Die anderen Menüeinträge ( Aes bis LineA ) enthalten die Funktions-
listen, in denen die einzelnen Systemfunktionen aufgeführt sind.
Die Menüleiste dient noch einem anderen Zweck; sie bietet einen
Überblick über die wichtigsten Einstellungen des Tracers.
-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
FUNKTIONSLISTEN
Entsprechend der Unterteilung des Betriebssystems in verschiedene
Funktionsbereiche ( Aes, Vdi...LineA ) gibt es im SysMon für jeden
Bereich eine Funktionsgruppen, die jeweils eine Liste der angebotenen
Systemfunktionen enthält.
___________________________________________________________________
⌠ Sys-Mon AES Vdi Gemdos Bios Xbios LineA 1:SysMon ⌠
⌡---------⌠------------------⌠---------------------------Run-Mode-⌡
| 10 appl_init + |
| 11 appl_read + |
| 12 appl_write + |
| 13 appl_find + |
| 14 appl_tplay + |
| 15 appl_trec. + |
| 16 appl_bvset + |
| 17 appl_yield + |
| 18 appl_search + |
| 19 appl_exit + |
| 20 evnt_keybd + |
| 21 evnt_button + |
| 22 evnt_mouse + |
| 23 evnt_mesag + |
| 24 evnt_timer + |
| 25 evnt_multi + |
| 26 evnt_dclick + |
| 30 menu_bar + |
⌡------------------⌡
Diese Funktionslisten sind als Untermenüs ausgeführt, wobei eine zum
GEM abweichende Bedienung vorliegt. Die Vielzahl der Unterfunktionen
macht es notwendig, da₧ die Funktionslisten gescrollt werden müssen,
wenn der untere Rand mit dem Cursor erreicht ist.
Jede Unterfunktion ist rechts mit einem Symbol versehen, das den
Trace-Zustand dieser Unterfunktion angibt. Es ist in Funktionslisten
auch möglich, mehrere Funktionen auf einmal zu beeinflu₧en, indem man
mit Control-Cursortaste einen Block markiert.
-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
FENSTER
Die Fenster von SysMon lassen sich weder in der Grö₧e verändern, noch
an anderen Stellen positionieren. Sie sollen lediglich den
hierarchischen Aufbau verdeutlichen und Informationen zusammenfassen.
___________________________________________________________________
⌠ Sys-Mon Aes Vdi Gemdos Bios Xbios LineA 1:SysMon ⌠
⌡-⌠-----------------⌠------------------------------------Run-Mode-⌡
| Config. tracer |
| Program ⌠ Start End Name Aes Vdi Stat ⌠
| New |--------------------------------------------------|
| Used |$01000030 - $01019D58 TOS | | | TOS |
| proFile |$01019D5A - $01025872 GEM | 1 | 1 | TOS |
| Display |$0001F296 - $0004238E HardDrv + | | | LPrg |
|---------|$00067F76 - $0006FABE MDISK + | | | Acc. |
| Traps & |$0006FC42 - $0007CDE8 XCONTROL + | | | Acc. |
| Memory |$010268BE - $010387EE SLECTRIC | | | Auto |
| OS-var. |$0103883A - $01039224 LEDPANEL | | | Auto |
|---------|$01039270 - $0104975E NVDI | | | Auto |
| Edit |$01049C28 - $0105EF10 TEMPLMON | | | Auto |
| ReRead |$01084F56 - $010E3F16 GEMINI + | | | Prg |
| Write |$011721A6 - $011A1542 EDISON + ╛ | | Prg |
|---------|$0125C352 - $0128FCCA SYS_MON | | | Auto |
| regIstra| Unknown + | | | ??? |
|---------⌡--------------------------------------------------⌡
| QUIT sysmon |
⌡-----------------⌡
Wie bei den Menüs wird die aktuelle Zeile durch Invertierung hervor-
gehoben. Sind mehr Zeilen in einem Fenster vorhanden, als auf dem
Bildschirm dargestellt werden kann, so wird der Fensterinhalt
gescrollt, wenn man den unteren oder oberen Rand erreicht.
Hat ein Fenster nur Dialog-Funktion, so können die Funktionen auch
durch den jeweiligen Anfangsbuchstaben ausgelöst werden. Der Cursor
wird automatisch auf dem ausgewählten Eintrag positioniert.
Ein Fenster wird mit der UNDO-Taste wieder geschlossen.
-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
OPTIONEN LISTE
In manchen Fenstern kann man die Darstellungsart der Informationen
beeinflussen bzw. Informationen ausblenden. In solchen Fenstern wird
in der rechten oberen Ecke die Liste der möglichen Schalter
dargestellt. Diese Schalter werden als Optionen bezeichnet.
Die Umschaltung der einzelnen Optionen erfolgt über die angegebenen
Kennbuchstaben, die nach memnonischen Gesichtspunkten zugeordnet
sind. Eine Option ist eingeschaltet, wenn der jeweilige Kennbuchstabe
gro₧ geschrieben wird.
In manchen Optionen-Fenstern werden die einzelnen Informationsblöcke
durch Titelzeilen getrennt. Damit einzelne Informationen schneller
gefunden werden können, wird mit der Tastenkombination Control-
Cursortaste zur jeweils nächsten/vorherigen Titelzeile gesprungen.
-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
KONTROLLTASTEN
Die Effizienz eines Debugging-Tool hängt besonders von den
Möglichkeiten ab, das Tool schnell und unkompliziert bedienen zu
können. Wenn man erst mehrere Fenster öffnen mü₧te, um die
wichtigsten Einstellungen vornehmen zu können, artet die
eigentliche Fehlersuche zu einem reinen Puzzlespiel aus.
Aus diesem Grunde sind alle wichtigen Einstellungen des SysMon
über Kontrollsequencen zu beeinflussen, die in jedem Fenster und
jedem Submenü gelten. Die Zuordnung erfolgte wieder auf memnonischer
Basis, damit eine schnelle Einarbeitung gewährleistet ist.
-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
KONZEPT DES MONITORS
Der Monitor-Teil des SysMon besteht aus einer Reihe von Fenstern, in
denen Informationen angezeigt werden. Dadurch, da₧ SysMon jederzeit
aufgerufen werden kann, kann man auch jederzeit einen Überblick über
den Zustand des Systems erhalten.
Die zum Monitor gehörenden Fenster sind mit Optionenleisten versehen,
damit die Vielzahl der dargestellen Informationen schnell auf ein
übersichtliches Ma₧ reduziert werden kann. Jede Systemstruktur wird
als einzelner Block dargestellt, wobei die einzelnen Elemente der
Strukturen mit Namen aufgeführt werden.
Um einen Eindruck von der Menge der jederzeit verfügbaren
Informationen zu geben, sei an dieser Stelle erwähnt, da₧ das Fenster
für die Systemvariablen aus über 1200 Zeilen besteht, wenn man den
alternativen Desktop Gemini nachlädt.
-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
KONZEPT DES TRACERS
Welche Anforderungen sollten an einen Tracer gestellt werden?
- Er soll auf einfache Weise ermöglichen, die Aufrufe von Programmen
zu protokollieren.
- Da zu jeder Zeit eine Vielzahl von Systemfunktionen aufgerufen
werden, müssen Informationen ausgeblendet werden, die für das
Debugging nicht relevant sind. Dazu zählen z.B. die Systemaufrufe
der anderen geladenen Programme oder unkritische Aufrufe des zu
beobachtenden Programms.
- In vielen Fällen laufen die Vorgänge zu schnell ab, so das eine
schrittweise Ausführung ( Step-Modus ) des kritischen
Bereiches möglich sein mu₧.
- Diese kritischen Bereiche sollen möglichst schnell 'angesteuert'
werden können, ein Tracer sollte automatisch vor solch einem
Bereich gestoppt werden können ( Wait-Modus ).
- Die Protokollausgabe sollte auf verschiedenen Ausgabegeräten
möglich sein. Die Möglichkeit des Abspeicherns von Ausgaben
( Protokolldatei ) erleichtert die Fehlersuche.
- Die Einstellungen ( Setup ) sollten abspeicherbar sein, damit ein
erneuter Test keine Neukonfiguration des Tracers notwendig macht.
- Die Bedienung sollte nicht durch unnötigen Ballast gestört werden,
die wichtigen Funktionen des Tracers sollten über kurze Tasten-
kommandos erreichbar sein.
Alle diese Anforderungen werden vom SysMon erfüllt. Der Tracer stellt
die Hauptfunktion des SysMon dar. Die vielfältigen Möglichkeiten
bedingen, da₧ die einzelnen Einstellungen strukturiert werden.
- Die am häufigsten benötigten Funktionen, das Ein-/Ausschalten des
Tracers, das Umschalten von ganzen Funktionsgruppen und die
Einstellung des Trace-Modus sind über Kontrolltasten realisiert.
- Der Trace-Zustand der einzelnen Systemfunktionen kann in Submenüs
vorgenommen werden, die direkt von der Menüleiste aufgeklappt werden.
Durch die Verwendung von Submenüs ist jede Funktion schnell zu
erreichen, desweiteren ist der Bildschirm nicht durch unnötige
Informationen überladen.
- Der Trace-Zustand der geladenen Programme kann beeinflu₧t werden.
- Die Ausgabezeile des Tracers kann frei konfiguriert werden.
- SysMon bietet 10 verschieden Setups an, die abgespeichert werden
können. Einzelnen Setups kann ein Namen zuzuordnet werden.
- Es gibt eine Übersicht über deren gesamte Einstellung.
- Die verschiedenen Möglichkeiten der Ein-/Ausgabe werden in einem
Dialog-Fenster bestimmt.
Der gro₧e Teil des Bildschirms unterhalb der Menüleiste ist für
die Ausgaben des Tracers vorgesehen. Da zusätzliche Zeilen ab-
gespeichert werden, kann in den Tracerausgaben auch zurück-
geblättert werden.
Die Ausgaben können aber auch auf ein anderes Gerät ( RS232-
Schnittstelle, Drucker, MIDI... ) umgeleitet oder zusätzlich in
einem Protokollfile abgelegt werden.
- Der interne Zustand des Tracers kann dargestellt werden.
-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
MODI DES TRACERS
SysMon bietet vier verschiedene Trace-Modi an.
RUN Der Run-Modus ist der normale Trace-Modus. Zwischen den
einzelnen Ausgaben kann eine Pause gemacht werden, falls
diese zu schnell ablaufen.
STEP Im Step-Modus wird hinter jeder Funktion auf einen
Tastendruck gewartet. Dadurch ist eine schrittweise
Ausführung eines Programms möglich. Das Step-Menü bietet
auch noch weitere Möglichkeiten an, z.B. werden alle
Kontrolltasten-Befehle erkannt.
WAIT In diesem Modus wird das SysMon-Menü betreten, sobald
eine Funktion aufgerufen wird, für die der Wait-Modus
gesetzt ist. Vorher finden keine Ausgaben statt, auch wenn
Funktionen aufgerufen werden, die im Run-Modus Ausgaben
erzeugen. Auf diese Weise lassen sich die Ausgaben von
SysMon unterdrücken, bis der 'kritische' Programmteil
erreicht ist.
HALT In diesem Modus wird sofort hinter dem nächsten angezeigten
Funktionsaufruf das SysMon-Menü betreten. Wenn die Ausgaben
nur auf die 'kritischen' Funktionen begrenzt sind, ist dies
die schnellste Möglichkeit, einen 'kritischen' Programmteil
abzuwarten.
-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
HIERARCHIE DES TRACERS
Die Tracer-Ausgaben können in mehreren Ebenen ausgeblendet werden:
Ebene | Erläuterung
------+------------------------------------------------------------
1 | Der Tracer kann komplett ausgeschaltet werden.
2 | Die Funktionsaufrufe von einzelnen Programmen können
| ausgeblendet werden.
3 | Einzelne Funktionsgruppen ( Aes, Vdi, Gemdos... ) können
| ausgeblendet werden.
4 | Einzelne Funktionsaufrufe können ausgeschaltet werden.
------+------------------------------------------------------------
Ein Funktionsaufruf wird nur angezeigt, wenn der Tracer eingeschaltet
ist, das aufrufende Programm getraced wird, die Funktionsgruppe des
Aufrufs eingeschaltet ist und die Funktion zum Tracen markiert ist.
Diese starre Hirarchie wird durch zusätzliche Funktionsmodi durch-
brochen. In manchen Fällen ist es sinnvoll, da₧ einzelne Aufrufe
immer angezeigt werden, auch wenn das aufrufende Programm nicht
getraced wird.
-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
AUSGABEZEILE DES TRACERS
Die Ausgabezeile eines Tracers soll soviel Informationen bieten wie
möglich, aber nur soviel wie nötig. Aus diesem Grund kann die Ausgabe
von einzelnen, nicht benötigten Informationen abgeschaltet werden.
Wird nur ein einzelnes Programm getraced, ist es unnötig, in jeder
Zeile den Programmnamen auszugeben. Die Ausgabe der Funktionsnummer,
des Supervisor-Stackpointers oder der Rücksprungadresse wird in den
meisten Fällen auch nicht benötigt.
Die einzelnen Elemente der Ausgabezeile können über Kontrolltasten
umgeschaltet werden.
*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#
ALLGEMEINE FUNKTIONEN
In diesem Abschnitt werden die Funktionen des SysMon behandelt, die
nicht direkt mit dem Monitor oder Tracer zu tun haben.
-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
STARTEN DES SYSMON
SysMon kann entweder aus dem Auto-Ordner oder vom Desktop gestartet
werden. Das Programm belegt ca. 220 Kb an Programmcode und ca. 75 Kb
für Daten.
Hält man während des Programmstarts die Alternate-Taste gedrückt, so
bricht die Installation ab. Das Laden der SYS_MON.INF Setup-Datei
kann durch Gedrückthalten der Control-Taste unterbunden werden. Bei
Gedrückter Shift-Shift-Alternate Taste wird in die Autopatch-Sequence
verzweigt, auch wenn das TOS schon bekannt sein sollte.
-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
AUFRUFEN VON SYSMON
SysMon wird durch die Tastenkombination Rechts-Shift-HELP aufgerufen.
Während Diskzugriffen kann der SysMon nicht betreten werden, da es
ansonsten zu Timing-Problemen kommen könnte. Die Auswertung eines
Diskzugriffs erfolgt über eine Systemvariable ( flock ). Wenn SysMon
trotzdem aufgerufen werden soll, mu₧ zusätzlich zu Rechts-Shift-HELP
die Caps-Lock Taste drückt werden.
Wenn der SysMon aufgerufen ist, wird der Rechner angehalten. Einzig
die Interrupts laufen weiter.
-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
UMSCHALTEN DES BILDSCHIRMS
SysMon legt für seine Ausgaben eine 2. Bildschirmseite an. Diese wird
beim Aufruf SysMons automatisch angezeigt. Die 2. Seite kann beim
Tracen jederzeit durch Drücken der rechten Shift-Taste angezeigt
werden. Wenn der Tracer ausgeschaltet ist, ist auch die rechte Shift-
Taste nicht aktiv.
Sollen hauptsächlich die Ausgaben des SysMon dargestellt werden, kann
durch gleichzeitiges Drücken der rechten Shift-Taste und der
CapsLock-Taste den aktuellen Bildschirm umgeschaltet werden. Der
Original-Bildschirm wird nun beim Drücken der rechten Shift-Taste
dargestellt.
-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
SETUPS
SysMon bietet 10 verschiedene Setups an, zwischen denen mit den
Funktionstasten F1..F10 umgeschaltet werden kann. Da fast alle
Einstellungen in SysMon vom Setup abhängig sind, hat man es nach dem
Umschalten mit einer komplett anderen Umgebung zu tun.
Es ist möglich für jeden Anwendungsfall ein neues Setup anzulegen,
auf das später bei Bedarf zurückgegriffen werden kann.
Beim Wechseln des Setups werden folgende Werte umgeschaltet:
- Der Zustand der einzelnen Programme.
- Der Zustand der einzelnen Funktionsgruppen.
- Der Zustand der einzelnen Funktionen.
- Der Tracemodus.
-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
WRITE
Der Menüpunkt 'Write' speichert die aktuelle Einstellung in eine
Datei SYS_MON.INF. Diese Datei wird beim Programmstart von SysMon
automatisch eingelesen und die darin enthaltenen Einstellungen
werden übernommen.
Wenn ein Schreiben des Files gerade nicht möglich ist, wird eine
Warnung ausgegeben.
Es werden alle Einstellungen aus den 10 Setups gespeichert. Eine
Besonderheit ist das zusätzliche Speichern des Zustandes der
einzelnen Programme. Da beim nächsten Starten nicht unbedingt
dieselben Programme gestartet werden, wird für jede Gruppe von
Programmen ( Tos, Auto, Acc, Res, Prg, LPrg, Cart, Unknown ) ein
Modus bestimmt:
- Wenn kein Programm der Gruppe angewählt ist, wird 'nicht Tracen'
für diese Gruppe gespeichert.
- Wird mindestens ein Programm der Gruppe getraced, wird 'Tracen' für
diese Gruppe gespeichert.
- Ist mindestens ein Programm der Gruppe mit einem Haltpunkt versehen,
wird für diese Gruppe ein Haltepunkt gespeichert.
- Ist kein Programm der Gruppe vorhanden, wird 'Tracen' für diese
Gruppe gespeichert.
-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
REREAD
Der Menüpunkt 'reRead' liest die SYS_MON.INF Datei nochmals ein. Wenn
ein Lesen des Files gerade nicht möglich ist oder die Datei nicht
existiert wird eine Warnung ausgegeben.
Nach dem Einlesen werden alle Einstellungen aus der Datei übernommen.
-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
VERLASSEN DES SYSMON MENUES
Der SysMon wird durch Drücken der SPACE-Taste verlassen. Dies
funktioniert auch innerhalb der Funktionslisten und dem SysMon-Menü.
-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
REGISTRATION
SysMon ist ein ShareWare-Program. Um alle Möglichkeiten nutzen zu
können, mu₧ man SysMon erst registrieren. Im 'regIstration' Fenster
gibt man seinen Namen und den Schlüssel ein und Verlä₧t danach
SysMon über den Menüpunkt QUIT.
Beim nächsten Start ist SysMon auf diesen Namen registriert und hat
keine Einschränkungen mehr.
SysMon kostet 50 DM für private Nutzer und 100 DM für Nutzer aus dem
professionellen Umfeld.
Meine Bankverbindung lautet:
Karsten Isakovic
Sparkasse der Stadt Berlin
Kto: 0950128864
Blz: 10050000
Bitte senden Sie zuätzlich einen kurzen Brief mit Ihrer Adresse an
mich, damit ich ihnen den Schlüssel per Postkarte zuschicken kann. Ein
Update von SysMon erhalten Sie in Mailboxen oder auf FTP-Servern. Sie
können mir aber auch eine DD-Diskette mit einem frankiertem, selbst-
adressierten Rückumschlag zuschicken, auf die ich Ihnen dann neuste
Version des SysMon und ein paar weitere Programme kopiere.
Meine Adresse lautet:
Karsten Isakovic
Wilmersdorfer Stra₧e 82
10629 Berlin
Per Email bin ich über folgende Adressen erreichbar:
Subnetz: ki@cs.tu-berlin.de
Mausnetz: Karsten Isakovic @ B
-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
BEENDEN VON SYSMON
Der Menüpunkt Quit beendet SysMon nach einer Rückfrage.
Danach wird ausgegeben, ob ein kleiner Teil vom SysMon (der SysTable),
resident im Speicher verbleiben mu₧. Dieser Programmteil wird beim
nächsten Start von SysMon erkannt und mitbenutzt, beim nächsten
Beenden von SysMon kann dann der ganze Speicher freigegeben werden.
Ein akustisches Signal weist auf die Freigabe des residenten
Programmteils hin.
-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
PROTOKOLLFILE
Alle Ausgaben des SysMon können auch in einem File mitprotokolliert
werden. Das An- und Abschalten des Protokollfiles und die Festlegung
des Namens wird im Display-Fenster vorgenommen.
Folgende Besonderheiten gelten im Zusammenhang mit dem Protokollfile:
- Alle Fenster von SysMon lassen sich mit der Taste * des Zehner-
blocks in das Protokollfile schreiben. Auf diese Art und Weise kann
man z.B. den Ist-Zustand des Systems dokumentieren.
- Auch die Funktionslisten lassen sich im File ablegen, um festzu-
halten, welche Funktionen im folgenden Protokoll nicht auftauchen
können, da sie nicht angewählt sind.
- Wenn kein Fenster geöffnet und nur die Menüleiste sichtbar ist,
wird durch die Dumptaste der globale Zustand des SysMon im
Protokollfile abgelegt.
- Das Notepad bietet die Möglichkeit, Kommentare während des
laufenden Fileprotokolls in das Protokollfile einfügen zu können.
- Wurde das Setup gespeichert, während ein Protokollfile geöffnet
war, wird dieses beim nächsten Starten von SysMon nicht wieder
geöffnet, da sonst ein schon bestehendes Protokollfile über-
schreiben würde.
Es wird nur in das Protokollfile gespeichert, wenn dieses vorher
geöffnet wurde.
Bei einem MediaChange werden alle offenen Dateien eines Laufwerks
automatisch geschlossen. Möchte man den Aufbau eines Desktop-Fensters
mitprotokollieren, mu₧ das Protokollfile auf einem anderen Laufwerk
angelegt werden, da ein Druck auf die ESC-Taste zum Neuaufbau eines
Desktopfenster einen MediaChange auslöst und die Protokolldatei
geschlossen würde.
Die Bios-Aufrufe des Gemdos ( unter TOS ) werden alle über denselben
Stack abgewickelt; es ist nicht möglich, während eines solchen Bios-
Aufrufs einen Gemdos-Aufruf zu machen, da dieser wieder Bios-Aufrufe
zur Folge hätte, welche den Stack überschreiben würden. Aus diesem
Grunde wird in einem solchen Fall beim Öffnen oder Schlie₧en des
Protokollfiles eine Warnung ausgegeben und die Funktion nicht aus-
geführt.
Das Mitprotokollieren dieser Aufrufe ist nur möglich, weil SysMon die
Ausgaben in solch einem Fall in einen Puffer schreibt und den Puffer
leert, sobald es wieder möglich ist. Die Grö₧e des Puffers lä₧t sich
durch eine Patchvariable verändern. Findet ein Puffer-Überlauf statt,
wird dieses im Protokollfile vermerkt.
Unter Magix gibt es diese Stack-Problematik nicht, SysMon lä₧t die
Fileoperationen auch während Bios-Aufrufen weiterlaufen.
-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
DRUCKERAUSGABE
Neben dem Dump des Fensterinhaltes in das Protokollfile, kann der
Fensterinhalt auch direkt auf dem Drucker ausgegeben werden. Dazu
mu₧ man zusätzlich zur * Taste des Zehnerblocks noch die Alternate-
Taste gedrückt halten.
Bei der Tastenkombination Links Shift Alternate Zehnerblock * wird
eine Hardcopy des SysMon-Bildschirms über den normalen Hardcopy-
Vektor des TOS auf dem Drucker ausgegeben. Ist dort zb ein Programm
zur Image-Hardcopy installiert, wird der SysMon-Bildschirm in ein
IMG-File abgespeichert.
*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#
DER MONITOR
Die Fenster des Monitors (Traps, Memory, Os-Vars) erreicht
man unter dem SysMon-Menüpunkt.
-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
TRAPS UND VEKTOREN
In dem Traps-Fenster wird die Liste der Systemvektoren ausgegeben,
wobei XBRA-Listen weiterverfolgt werden und die jeweiligen
Sprungziele mit dem dazugehörigem Programmnamen versehen sind.
Es werden alle Traps und Vektoren des ST ausgegeben, auch diejenigen,
die nicht vom Betriebssystem benutzt werden.
Auf dem TT und FALCON werden Vektoren mit 32 Bit angezeigt, auf den
anderen Rechnern mit 24 Bit.
Da die Liste sehr lang werden kann, kann man die Anzeige bestimmter
Informationen auf Tastendruck aus-, bzw einblenden.
Option | Umschalten der Anzeige TRAPS-FENSTER
----------------------+--------------------------------------------
H - Hardware | Hardware Vektoren
U - Unused Exceptions | Unbenutzen Vektoren
I - Interrupt | Interrupt Vektoren
T - Trap | Trap Vektoren
M - MFP | MFP Vektoren
E - ETV | Etv Vektoren
S - Special | Special Vektoren
V - VBL | VBL Vektoren
X - Xcon | Xcon Device Vektoren
K - Kbd | Kbdvbase Vektoren
L - LineA | LineA Funktions Vektoren
----------------------+--------------------------------------------
R - ROM | Sprünge, die in das Betriebssystem zeigen
N - NotValid | Vektoren mit ungültiger Zieladresse
----------------------+--------------------------------------------
LIMITIERTE AUSGABE
Mit der RETURN Taste kann die Trap-Anzeige auf die Traps des Programm
der aktuell selektierten Cursorzeile begrenzt werden. Um alle Vektoren
des Programms anzuzeigen, werden alle Optionen gesetzt. Mit der RETURN
Taste kann wieder auf das normale Anzeigenformat umgeschaltet werden.
-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
SPEICHERBEREICHE
In dem Memory-Fenster wird eine sortierte Liste der Speicherbereiche
ausgegeben, in der auch die residenten Blöcke enthalten sind. Die
Liste ist dabei so sortiert, da₧ das Ende des Hauptspeichers oben und
der Anfang unten ausgegeben wird. Auf dem TT wird der FastRAM-
Speicherbereich durch eine durchgezogene Line abgetrennt.
Jede Ausgabezeile ist nach folgendem Format aufgebaut:
- Der Adresse des Memory Descriptors wird ausgegeben.
- Auf dem TT und Falcon wird ein kleiner Kreis ausgegeben, wenn es
sich um Fast- oder Alternate-Memory handelt.
- Die Startadresse, Endadresse und die Länge des Blocks wird
ausgegeben.
- Der 'Owner' des Blocks wird ausgegeben. Bei freien Blöcken wird
stattdessen 'free', bei residenten Blöcken 'res' ausgegeben. Es
wird zusätzlich die HideMem-Konvention erkannt, d.h. wenn alle 4
Bytes des Longwords Ascii-Buchstaben sind, werden diese ausgegeben.
- Wenn möglich, wird dem Speicherbereich ein Programm zugeordnet und
dessen Name ausgegeben.
- Es werden folgende Arten unterschieden:
Programm Code Basepages Environments
Resource-Blöcke Aes-Blöcke Vdi-Blöcke
geladene Vdi-Fonts LineF-Handler Directory-Buffer
CPX Blöcke CPX Code
Alles Andere wird als Data bezeichnet. Da jeweils nur wenige Bytes
zur Identifikation herangezogen werden, kann die Einordnung auch
mal daneben gehen.
In dem Memory-Fenster sind folgende Optionen möglich:
Option | Erläuterung MEMORY-FENSTER
--------+----------------------------------------------------------
L,$ | Schaltet die Längenangabe zwischen Hex. und Dez. um
O | Schaltet die Angabe des 'Owners' zwischen Hex. und Name
| des Programms um
--------+----------------------------------------------------------
MEMORY DUMP
Im Memory-Fenster kann der aktuell angewählte Speicherbereich als
Hex- und Ascii-Dump ausgegeben werden, indem die RETURN Taste
gedrückt wird. Dies ist nur möglich, wenn die Länge des Speicherblock
kleiner als 524272 Bytes ist.
Jede Ausgabezeile ist nach folgendem Format aufgebaut:
- Vorne steht die Speicheradresse.
- Dahinter folgen 16 Hex-Bytes.
- Am Ende jeder Ausgabezeile werden die 16-Hex-Bytes in
Ascii-Form ausgegeben.
Mit den Cursortasten kann ein anderer Speicherabschnitt innerhalb des
Speicherblocks angewählt werden. Wird eine Cursortaste zusammen mit
der Kontrolltaste gedrückt, so wird der Cursor in grö₧eren Sprüngen
bewegt. Die Sprungweite wird über folgende Optionen gesteuert:
Option | Umschalten der Sprungweite DUMP-FENSTER
-----------+-------------------------------------------------------
D - Double | Zwischen $2000 und $4000
F - Fast | Zwischen $400 und $1000
-----------+-------------------------------------------------------
-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
SYSTEMVARIABLEN
In dem Os Vars-Fenster werden verschiedene Variablen und Strukturen
des Betriebsystems ausgegeben.
Die Ausgabe der einzelnen Blöcke können über die Option Kommandos
umgeschaltet werden.
Option | Umschalten der Ausgabe OS-VARS-FENSTER
--------------------+----------------------------------------------
S - Systemvariables | Systemvariablen von $400 bis $5A0
N - Negativ LineA | Negativen LineA Variablen.
L - LineA | Positiven LineA Variablen.
V - VDI | Daten der geladenen VDI-Workstations.
C - Cookies | Cookies der CookieJars.
U - Pun Pointer | Harddisk-PunPointer Struktur.
P - Programms | Program-, Basepage- oder Cartridge-Header.
F - Fonts | Daten der geladenen Fonts.
H - Header | Header des Betriebssystems.
--------------------+----------------------------------------------
Die Vektoren zwischen $400 bis $5A0, die schon unter dem Menüpunkt
Traps ausgegeben werden, werden der Vollständigkeit halber wiederholt.
Es findet kein Verfolgen von XBRA-Ketten statt.
*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#
DER TRACER
-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
ALLGEMEINE BEDIENUNG
Der Zustand des Tracers kann direkt in der Menüleiste von SysMon
abgelesen werden.
___________________________________________________________________
⌠ Sys-Mon Aes Vdi Gemdos Bios Xbios LineA 1:SysMon ⌠
⌡--------------------------------------------------------Run-Mode-⌡
Der Tracer wird mit der ESC-Taste ein-/ausgeschaltet. Im ein-
geschalteten Zustand wird der SysMon-Menüeintrag vollständig gro₧
geschrieben.
Die einzelnen Funktionsgruppen werden durch die entsprechende Kontroll-
taste ( ^A für AES, ^V für VDI... ) ein-/ausgeschaltet. Auch hierbei
gilt, da₧ der Name der Funktionsgruppe vollständig gro₧ geschrieben
wird, wenn die Funktionsgruppe getraced wird.
Die Nummer und der Name des aktuellen Setups werden rechts ausgegeben.
Zwischen den 10 Setups kann mit den Funktionstasten umgeschaltet
werden.
In der zweiten Zeile wird der Trace-Modus ausgegeben. Dieser kann
mit der TAB-Taste zwischen den 4 Modi umgeschaltet werden.
-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
FUNKTIONSLISTEN
In den Funktionslisten jeder Funktionsgruppe kann für jede einzelne
Funktion ein Modus angegeben werden. Dieser Modus bestimmt das
Verhalten des Tracers beim Aufruf der jeweiligen Funktion.
Am Ende jeder Funktionsliste findet sich ein Eintrag 'Unknown
Function'. Der Modus dieses Eintrags bestimmt den Modus von
Funktionen, die zwar der jeweiligen Funktionsgruppe angehören, aber
keine Betriebssystem-Funktionen sind (Einige residente Programme
bieten erweiterte Funktionen über vom Betriebssystem unbenutze
Funktionsnummern an.).
Die Tabelle zeigt alle Modi, die für die einzelnen Funktionen
möglich sind. Die zugehörige Taste wird nur angegeben, wenn sie
nicht mit dem dargestellten Zeichen übereinstimmt.
Zeichen | Modus | Erläuterung FUNKTIONSMODI
--------+---------------+------------------------------------------
Leer | Nicht Tracen | Aufrufe dieser Funktion werden nicht
| | angezeigt. Dieser Modus wird mit der
| | DELETE-Taste eingeschaltet.
Plus | Tracen | Alle Aufrufe dieser Funktion werden
| | angezeigt, sofern sie von Programmen
| | stammen, die auch angewählt sind. Das
| | Tracen wird mit der Insert-Taste
| | eingeschaltet.
Kreis | Breakpoint | Kennzeichnet einen Haltepunkt. Wenn der
| | Tracer im Wait-Modus arbeitet, wird hinter
| | diesem Funktions-Aufruf automatisch der
| | SysMon betreten. Dieser Modus wird mit der
| | ~ (Tilde)-Taste eingeschaltet.
--------+---------------+------------------------------------------
0...9 | Setup-Mode | Aufrufe dieser Funktion werden ausgegeben,
| | wenn das aufrufende Programm im
| | angegebenen Setup angewählt ist.
* | All-Mode | Alle Aufrufe dieser Funktion werden
| | angezeigt, auch wenn das zugehörige
| | Programm nicht angewählt ist.
I und O | Debugger-Mode | Vor bzw. nach Ausführung der Funktion
| | wird in den Maschinensprache-Debugger
| | verzweigt.
--------+---------------+------------------------------------------
Der komplexeren Modi 'Setup-Mode', 'All-Mode' und 'Debugger-Mode'
werden im Abschnitt KOMPLEXERE TRACER-MODI näher erläutert.
-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
PROGRAMM FENSTER
Im Programs-Fenster findet man eine Liste der geladenen Programme.
Für jedes Programm kann bestimmt werden, ob die Systemaufrufe
ausgegeben werden sollen.
Der Eintrag 'Unknown Program' bestimmt den Modus von Aufrufen, die
nicht aus dem Codebereich der geladenen Programme stammen.
Die Ausgabezeilen des Fensters sind folgenderma₧en aufgebaut:
- Am Anfang der Zeile wird der Speicherbereich des Programms
ausgegeben.
- Bei den Programmnamen gelten folgende Konventionen:
- Der Programmname wird gro₧ geschrieben, wenn SysMon der genaue
Name bekannt ist.
- Die Namen in gemischter Gro₧/Kleinschreibung werden von SysMon
vergeben, wenn das Programm eine XBRA-Kennung benutzt.
- Die Namen Acc_A, Auto_A, Prg_A usw. werden vergeben, wenn SysMon
nur den Typ des Programms erkennt.
Ein Name in gemischter Schreibweise kann editiert werden. Die
Editiermöglichkeit eines Names ist auch an der Klammerung in
>>..<< zu erkennen. Es können nur Gro₧buchstaben eingegeben werden.
Um Zeichen zu löschen ist nur die Backspace-Taste zugelassen. Ein
leerer Name ist unzulässig und wird daher durch Fragezeichen
ersetzt.
- Der Trace Zustand des Progamms wird mit den üblichen Symbolen
aus Tabelle FUNKTIONSMODI angezeigt.
- Bei Programm, auf das der ActPd Vektor zeigt, wird ein R-Symbol
ausgegeben. Bei Funktionsaufrufen durch Accessories ist das GEM der
aktuelle Proze₧.
- Die Appl-Id wird ausgegeben. Bei Stuffer und ähnlichen Multi-
Accessories oder bei mehreren verschachtelt geladenen Programmen
werden manche Ids mehrfach ausgegeben. Diese Angabe ist nur
möglich, wenn SysMon den AES-Trap mittraced, oder wenn SysMon den
internen Aufbau der AES-Listen des Betriebssystems kennt.
- Die benutzen Vdi-Handles werden ausgegeben. Diese Angabe ist nur
möglich, wenn SysMon den VDI-Trap mittraced.
- Am Ende der Zeile wird die Art des Programms ausgegeben:
Art | Erläuterung PROGRAMMARTEN
-----+-------------------------------------------------------------
TOS | wird nur für die beiden Betriebssystem-Teile TOS und GEM
| und GEM benutzt.
Auto | wird ausgegeben, wenn das Programm im Auto-Ordner gestartet
| wurde. Diese Programme sind resident geladen.
Acc | wird für Accessories verwendet.
Prg | wird bei normal geladenen Programmen benutzt.
Res | wird bei resident geladenen Programmen benutzt.
LPrg | wird bei Programmen benutzt, deren Codebereich einem anderen
| Proze₧ gehören. (loaded program)
Cart | wird bei Programmen benutzt, die in einer Cartridge gefunden
| wurden.
-----+-------------------------------------------------------------
-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
NEUE PROGRAMME FENSTER
Im New-Program-Fenster kann man für jede Programmgruppe (Prg, LPrg,
Res, Auto, Acc, Cpx) den Status angeben, der für neugestartete
Programme anzuwenden ist.
Diese Werte werden auch im Setup-File SYS_MON.INF abgespeichert.
-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
DARSTELLUNGS FENSTER
Das Display-Fenster enthält alle Einstellungen, die die Ein-/Ausgabe
betreffen.
Die Umschaltungen des Ein-/Ausgabe-Gerätes gelten nur für die Tracer-
Ausgaben, die Darstellung der SysMon-Benutzeroberfläche erfolgt immer
auf der 2. Bildschirmseite. Änderungen des Ein-/Ausgabe-Gerätes
sind erst nach Verlassen des SysMon Bildschirms gültig.
Taste | Erläuterung DISPLAY-FENSTER
----------------+--------------------------------------------------
I - Input | schaltet die Eingabe zwischen Tastatur, RS-232,
| Parallelport und Midiport um.
O - Output | schaltet die Ausgabe zwischen 2. Bildschirmseite,
| RS-232, Parallelport und Midiport um.
F - FileOutput | schaltet das Protokollfile an/aus. Ist ein Öffnen
| oder Schlie₧en zur Zeit nicht möglich, wird eine
| Warnung ausgegeben. Siehe Abschnitt PROTOKOLLFILE.
| Sollte das File schon existieren, so hat man die
| Möglichkeit, es zu überschreiben, die Ausgaben
| anzuhängen oder abzubrechen.
N - Name | wechselt in den Editiermodus für den Namen des
| Protokollfiles. Gültige Eingaben sind Buchstaben,
| Zahlen, Punkt, Doppelpunkt, Unterstrich und der
| Backslash. Andere Eingaben beenden die
| Namenseingabe.
J - JumpScroll | gibt an, wieviele Zeilen im Run-Modus auf einmal
| gescrollt werden sollen. Bei einem Wert von 10
| wird der Bildschirm um 10 Zeilen nach oben
| gescrollt und 10 Zeilen ohne Scrollen ausgegeben.
| Da die Scrollroutine jetzt nur alle 10 Zeilen
| aufgerufen werden mu₧, ist die Ausgabe-
| geschwindigkeit wesentlich erhöht.
S - STEP-Filter | gibt an, wieviele Zeilen im Step-Modus ohne
| Nachfrage ausgeführt werden sollen.
P - Pause | schaltet die Pausen Option um. Wenn Pause
| angewählt ist, wird bei jedem Drücken der rechten
| Shifttaste und dem damit verbundenen Anzeigen
| des SysMon-Bildschirms gewartet, bis die Shift-
| Taste wieder losgelassen wird. Ausserdem kann man
| eine Wartezeit in ms anwählen, die hinter jeder
| dargestellten Ausgabezeile gewartet wird. Ist der
| SysMon--Bildschirm nicht sichtbar, wird die
| Ausgabe nicht verzögert.
L - List output | bestimmt die Art der Sortierung in den Funktions-
| listen. Diese können entweder nach Funktions-
| nummern oder nach Funktionsnamen sortiert werden.
----------------+--------------------------------------------------
Bei 'JumpScroll', 'STEP-Filer' und 'Pause' kann durch zusätzliches
Gedrückthalten der Shifttaste der eingestellte Wert auch vermindert
werden.
-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
KONFIGURATIONS FENSTER
Das Configuration-Fenster ist eine Übersicht über alle 10 Setups. Die
Umschaltung der einzelnen Elemente der Ausgabezeile erfolgt mit den
Kontrolltasten, die der Tabelle KONTROLLTASTEN zu entnehmen sind.
Jede Zeile des Fensters hat folgenden Aufbau:
- Zuerst kommt der Name des Setups, der editiert werden kann.
Um Zeichen zu Löschen ist nur die Backspace-Taste zugelassen.
- Beim Tracermodus wird entweder Run, Step, Wait oder Halt
ausgegeben.
- Der Zustand der einzelnen Betriebssystemfunktionen wird durch
die Anfangsbuchstaben verdeutlicht, bei AGX wird folglich AES,
GEMDOS und XBIOS getraced.
- Das Format jeder Tracer-Ausgabezeile wird durch die Anfangsbuch-
staben der Optionen ausgegeben. Hierbei steht R für ReturnAddr,
C für Caller, N für Number, O für OutputStack, F für FlagSuper,
E für Extra und W für WatchBypass.
- Der Zustand der Überwachungsfunktionen für Pd-Wechsel und Trap-
Änderungen werden mit den Buchstaben P und T ausgegeben.
Das aktuelle Setup kann mit den Cursortasten oder durch die
Funktionstasten gewechselt werden.
-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
PROFILING FENSTER
Im proFile-Fenster kann das Profiling ein/aus geschaltet werden.
Profiling bedeutet, da₧ die Anzahl jedes Aufrufs mitgezählt wird. Die
Ausgabe der Aufruf-Anzahl erfolgt in den Funkionslisten rechts neben
der jeweiligen Funktion.
Durch Profiling erhält man einen Überblick über die am häufigsten
verwendeten Aufrufe.
Taste | Erläuterung PROFILE-FENSTER
--------------+----------------------------------------------------
P - Profile | schaltet das Profiling an/aus. Die Daten werden
| hierbei nicht gelöscht, so da₧ eine Zählpause
| möglich ist.
D - Dump | schreibt die beim Profiling gewonnenen Daten in das
| Protokollfile. Sollte kein Protokollfile geöffnet
| sein, so wird es geöffnet und nach dem Schreiben
| wieder geschlossen.
S - ShowFunc. | schaltet um, ob die einzelnen Funktionen während
| des Zählens ausgegeben werden sollen.
C - Clear | Löscht alle Profiling-Daten.
--------------+----------------------------------------------------
-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
NOTIZBLOCK FENSTER
Das Notepad-Fenster bietet eine Möglichkeit Kommentare einzugeben.
Dieser Kommentar kann dann in das Protokollfile eingefügt werden, um
so zusätzliche Informationen und Bemerkungen gleich bei der Erstellung
des Protokollfiles eingeben zu können.
Die aktuelle Eingabezeile wird durch >>...<< geklammert. Als Eingaben
sind alle ASCII-Zeichen zulässig. Es sind nur minimale Möglichkeiten
zum Editieren vorgesehen, au₧er den Cursortasten haben folgende
Tasten eine Sonderfunktionen:
Taste | Erläuterung NOTEPAD-FENSTER
------+------------------------------------------------------------
CLR | löscht das ganze Fenster.
BS | löscht den letzten Buchstaben. Zusammen mit einer Shift-
| Taste wird eine ganze Zeile gelöscht.
CR | bewegt den Cursor eine Zeile nach unten.
------+------------------------------------------------------------
Bei einem Dump in ein Protokollfile werden nur diejenigen Zeilen aus-
gegeben, in denen auch etwas eingegeben wurde. Möchte man eine
Leerzeile im Kommentar erzeugen, mu₧ man zumindest ein Leerzeichen in
die Zeile einfügen.
-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
STATUS FENSTER
Das Used-Traps-Fenster liefert eine Übersicht über die von SysMon
benutzten Traps und Bypasse und über die Funktionen, die zwar auf-
gerufen, aber noch nicht vom Betriebssystem abgearbeitet wurden.
Das Format der Bypass- und Trap-Ausgabe ist:
- Links wird der Vorgänger aufgeführt, also ein Trap oder ein
Programm, das daraufhin den SysTable anspringt.
- In der Mitte wird die Adresse des SysTable Sprungziels ausgegeben.
- Rechts wird der Nachfolger ausgegeben, der von der SysTable
angesprungen wird.
- Ganz rechts gibt es noch einen Buchstabenkürzel, der den Vektor
kennzeichnet. A/V steht für AesVdi, G für Gemdos usw.
Durch die Taste 'M' wird zwischen den 2 Darstellungsarten
umgeschaltet:
- Die aktiven Traps und Bypasse werden getrennt ausgegeben. Dabei
werden die Bypasse in der Reihenfolge aufgeführt, in der sie auch
angesprungen werden.
- Die Traps und Bypasse eines Vektors werden vermischt ausgegeben,
so da₧ die Reihenfolge von der Trap Adresse bis zum letzten Bypass
der Ansprungreihenfolge entsprechen.
In einer weiteren Liste werden diejenigen Funktionen angezeigt, die
noch nicht aus den Traps zurückgekehrt sind. Siehe dazu das Kapitel
INTERNA.
-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
DAS STEP MENUE
Beim Tracen im Step-Modus stoppt SysMon nach jeder ausgegebenen
Funktion und wartet auf eine Eingabe.
Taste | Erläuterung STEP-Menü
--------------+----------------------------------------------------
M - Menü | betritt das SysMon-Menü. Wird das SysMon-Menü durch
| SPACE verlassen, gelangt man wieder in das
| Step-Menü.
0--9 | wählt, genauso wie die 10 Funktionstasten, das
| aktuelle Setup aus. Die Tasten 0-9 sind zusätzlich
| notwendig, da die Funktionstasten nicht über alle
| Eingabedevices eingegeben werden können.
Kontrolltaste | Die SysMon KONTROLLTASTEN gelten auch im Step-Menü.
--------------+----------------------------------------------------
Jede andere Taste beendet das Step-Menü und führt das laufende
Programm fort.
Im Display-Fenster kann unter Step-Filter die Anzahl der Zeilen ein-
gestellt werden, die ohne Anzuhalten im Step-Modus durchlaufen werden
sollen.
-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
TRACE AUSGABE
Die gro₧e Fläche unter der Menüleiste steht für die Ausgaben des
Tracers zur Verfügung. Es gibt auch die Möglichkeit in den Trace-
Ausgaben zurückzublättern.
Der ansonsten unsichtbare Cursor kann mit den Cursor-Kommandos aus
der Tabelle TASTEN bewegt werden, wenn kein Fenster geöffnet ist.
Der Cursor bleibt solange sichtbar, bis SysMon mit SPACE verlassen
wird. Der Bildschirm springt dann wieder an das Ende der Tracer-
Ausgaben.
Die Anzahl der gepufferten Zeilen kann man durch eine Patchvariable
festlegen (Siehe Abschnitt PATCHVARIABLEN). Als Default werden 50
Zeilen zusätzlich zu den sichtbaren Bilschirmzeilen angelegt.
*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#
DIE AUSGABEZEILE DES TRACERS
Die Elemente der Ausgabezeile können über Kontrolltasten ein-/aus-
geschaltet werden. Der Anfangsbuchstabe des Namens eines Elementes
entspricht dabei der Kontrolltaste.
Die Ausgabezeile hat folgendes Format, wenn alle Elemente ein-
geschaltet sind:
Element | Erläuterung AUSGABEZEILE
------------+------------------------------------------------------
> | Wird ausgegeben, wenn beim Tracen ein Taskwechsel
| stattgefunden hat. Diese Ausgabe lä₧t sich nicht
| abschalten.
ReturnAddr | gibt die Rücksprungaddresse der Funktion aus.
Caller | gibt den Namen des aufrufenden Programms aus.
Number | zeigt hinter einem Kennbuchstaben für die Funktions-
| gruppe ( A für Aes ... L für LineA und O für Other )
| die Funktionsnummer an.
OutputStack | gibt den aktuellen Stackpointer aus.
FlagSuper | gibt einen kleinen Punkt aus, wenn der Aufruf aus dem
| Supervisormodus stattgefunden hat.
------------+------------------------------------------------------
Hinter diesem Header wird der Funktionsname ausgegeben. Treten bei
den Aufrufen Verschachtelungen auf, werden die Funktionsnamen ein-
gerückt. Kehrt die Funktion dann später zurück, wird der Header noch
einmal ausgegeben.
-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
EINGABE PARAMETER
Hinter dem Funktionsnamen werden die Eingabe-Parameter ausgegeben,
wobei Werte, die als Konstanten definiert sind, im Klartext ausgegeben
werden. Hat eine Funktion mehrere Eingabe-Parameter, so werden vor
jedem Parameter kurze Texte ausgegeben. Die Reihenfolge der Parameter
entspricht der C-Deklaration dieser Funktion. Bei 'Call by Reference'
Parametern wird deren Wert erst bei den Ausgabeparametern angegeben.
Entsprechend der C-Notation werden Character-Variablen in '...',
Strings in "..." und Strukturen in {...} eingeschlossen. Vor jeder
Struktur wird der Name und Adresse der Datenstruktur ausgegeben. Für
die meisten Strukturen mu₧ die Ausgabe der einzelnen Elemente erst
über die Kontrolltaste 'ExtraOutput' aktiviert werden. Bitsets werden
als ( xxx + yyy + zzz ) ausgegeben.
-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
TRENNZEICHEN
Um die Ausgabe Parameter optisch von den Eingabe-Parameten abzuheben,
wird ein '->' als Trennzeichen ausgegeben. Dies geschieht erst, wenn
die Funktion aus dem Trap zurückkehrt. Das Trennzeichen wird auch
ausgegeben, wenn eine Funktion keine Ausgabe-Parameter hat.
Im Sondermodus 'WatchBypass' wird das Trennzeichen '->' durch
'-[ProgrammName]->' ersetzt, falls die Funktion von einem anderen
Programm abgefangen wurde. Hat sich ein Programm hinter einen Aufruf
gehängt, so wird '-{ProgrammName}->' verwendet.
-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
AUSGABE PARAMETER
Hinter dem Trennzeichen werden die Ausgabe-Parameter der Funktion
ausgegeben. Bei mehreren 'Call by Reference' Parametern werden vor
jedem Parameter kurze Texte zur Identifikation ausgegeben.
Die Notation der Ausgabe-Parameter entspricht der Notation für die
Eingabe-Parameter.
-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
RUECKGABEWERT
Der Rückgabewert einer Funktion wird immer am Ende ausgegeben, sind
Ausgabeparameter vorhanden, so wird ein 'Ret' vorrangestellt. Fehler-
meldungen des Betriebssystems werden im Klartext ausgegeben.
-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
WEITERE TRACER AUSGABE MOEGLICHKEITEN
Beim Tracer existieren noch weitere Möglichkeiten, um die Ausgabezeile
zu beeinflussen oder erweiterte Tracer-Ausgaben zu erzeugen.
Element | Erläuterung TRACER-AUSGABEN
------------+------------------------------------------------------
ExtraOutput | schaltet zusätzliche Ausgaben ein.
WatchBypass | beeinflusst die Üerwachung des Funktionsablaufes.
TrapChange | erzeugt Ausgaben, wenn sich die vom SysMon
| beobachteten Systemvektoren verändern.
PD_Change | erzeugt Ausgaben, wenn sich der ActPD verändert.
------------+------------------------------------------------------
-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
ERWEITERTE AUSGABEN
Mit der Kontrolltaste Taste ^E (ExtraOutput) kann die Ausgabe von
zusätzlichen Informationen eingeschaltet werden. Dies sind Werte, die
nicht direkt auf dem Stack liegen, aber im Zusammenhang mit der
Funktion stehen. Das ist z.B die Ausgabe des Filenamens bei Gemdos
Funktionen, die nur einen Filehandle benutzen, der Text von
selektierten AES-Objekten oder die Ausgabe der Elemente von über-
gebenen Strukturen, z.B. der DTA-Struktur bei den Gemdos Funktionen
Fsfirst und Fsnext oder dem MFDB bei Vdi Funktionen.
-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
PD UND TRAP WECHSEL
Ein Wechseln des aktuellen Proze₧es und Veränderungen der SysMon-Traps
werden vom Tracer angezeigt, wenn die Anzeige mit den Kontrolltasten
^P (für Pd-Change) und ^T (für Trap-Change) aktiviert ist.
Die Problematik der Trap-Überwachung wird im Abschnitt INTERNA
behandelt.
-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
SETUP ABHAENGIGES TRACEN
Das setup-abhängige Tracen kann über die Modi 0..9 in den Funktions-
listen eingestellt werden. Unabhängig von der Einstellung im Program-
Fenster wird ein Aufruf ausgegeben, wenn das aufrufende Programm im
angegebenen Setup angewählt ist.
Da dies ziemlich kompliziert ist, hier ein Beispiel:
Man möchte das Vdi-Tracen und zwar nicht nur die Aufrufe von
Programmen, sondern auch die Aufrufe des GEM durch das AES.
Einige Vdi-Aufrufe des Gem finden aber permanent statt:
vq_mouse, vrq_string usw...
Möchte man diese 'permanenten' Aufrufe nicht sehen, so könnten
sie ohne setup-abhängiges Tracen nur komplett abgeschaltet werden.
Für dieses Problem ist das setup-abhängige Tracen gedacht:
Das aktuelle Setup sei '1', es sind alle Programme angewählt, auch
Tos/Gem. Im Setup '2' sind auch alle Programme angewählt, aber
Tos/Gem nicht. Wird nun bei den 'permanenten' Aufrufen der Modus
'2' vergeben, so gilt bei diesen die Einstellung des Setups '2'.
D.h. wenn sie durch das Tos/Gem ausgelöst wurden, werden sie nicht
ausgegeben, wohl aber aber allen anderen Programmen.
Die anderen Vdi-Funktionen werden entsprechend der Einstellung von
Setup '1' ausgegeben, also auch, wenn sie von Tos/Gem stammen.
-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
PROGRAMM UNABHAENGIGES TRACEN
Das programm-unabhängige Tracen kann über den Modus '*' in den
Funktionslisten eingestellt werden. Ein Aufruf wird ausgegeben, auch
wenn das aufrufende Programm nicht angewählt ist.
Der All-Modus ist sinnvoll einzusetzen, wenn es egal ist, welches
Programm den Aufruf auslöst. Im Zusammenhang mit dem Step-Modus kann
der Rechner vor der Ausführung des Aufrufs angehalten werden.
-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
DEBUGGER MODI
In manchen Fällen ist es sinnvoll, einen einzelnen Aufruf auf
Maschinensprache-Ebene verfolgen zu können. SysMon bietet deshalb
zwei Debugger-Modi an, die beim Auftreten der Funktion einen
Maschinensprache-Debugger aufrufen. Die beiden Modi können mit den
Tasten 'I' und 'O' in den Funktionslisten eingestellt werden.
Im Groben entsprechen die Modi dem Modus 'Tracen', die Parameter
werden ganz normal ausgegeben. Die Modi unterscheiden sich nur
hinsichtlich des Zeitpunktes, an dem in den Debugger verzweigt wird.
Modus | Erläuterung DEBUGGER-MODI
--------+----------------------------------------------------------
I - In | Es wird vor dem Aufruf der eigentlichen Funktion, aber
| nach der Ausgabe der Eingabeparameter in den Debugger
| gesprungen.
O - Out | Es wird erst in den Debugger gesprungen, nachdem der
| Aufruf aus dem Trap zurückgekehrt ist und die Ausgabe-
| parameter ausgegeben wurden.
--------+----------------------------------------------------------
Der 'I' Modus wird zur Zeit nur vom TempleMon, der 'O' Modus vom
TempleMon und BugaBoo unterstützt. Ist kein Debugger geladen, so wird
wie bei dem Modus 'Tracen' verfahren.
*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#
DIE TASTENKOMBINATIONEN VON SYSMON
Dieses Kapitel bietet eine Übersicht über alle in SysMon benutzen
Tastaturkommandos.
-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
CURSOR KOMMANDOS
Der Cursor kann in den Menüs und Fenstern mit folgenden Tasten-
kombinationen bewegt werden:
Zustand | Taste | Bedeutung CURSOR-BEWEGUNG
--------------+---------------+------------------------------------
| Links, Rechts | Wechseln des Menüpunktes
| Rauf, Runter | Rauf bzw. Runter
Shift | Rauf, Runter | Seitenweise Rauf / Runter
| Home | Anfang
Shift | Home | Ende
--------------+---------------+------------------------------------
Control | Rauf, Runter | Auswählen eines Blocks
Control | Home | Block bis Anfang
Control-Shift | Home | Block bis Ende
--------------+---------------+------------------------------------
Das Auswählen eines Blocks ist nur in den Funktionslisten möglich.
Die Blockauswahl wird durch eine beliebige andere Cursortaste ab-
gebrochen.
Die Einträge in Menüs und Dialog-Fenstern werden ausgewählt, indem
sie mit dem Cursor selektiert und durch die RETURN-Taste bestätigt
werden. Eine andere Möglichkeit ist die Eingabe des Kennbuchstabens
des Eintrags. Der Kennbuchstabe ist jeweils der einzige Gro₧buchstabe
innerhalb des Eintrags.
-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
OPTION KOMMANDOS
In Optionen-Fenstern werden die einzelnen Optionen durch die
jeweiligen Kennbuchstaben, die oben rechts in der Ecke des Fensters
ausgeben werden, umgeschaltet. Wird ein Buchstabe in der Optionen-Liste
gro₧ geschrieben, so ist die zugehörige Option angeschaltet.
Zusätzlich gelten folgende Tastaturkommandos:
Zustand | Taste | Bedeutung OPTION-KOMMANDOS
--------+--------------+-------------------------------------------
Control | Rauf, Runter | Zum nächsten Blockanfang springen
| Delete | Alle Optionen löschen
| Insert | Alle Optionen setzen
--------+--------------+-------------------------------------------
-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
FUNKTIONSLISTEN KOMMANDOS
In Funktionslisten kann der Modus der aktuellen Funktion oder des
angewählten Blockes durch Drücken der folgenden Tasten bestimmt
werden:
Taste | Darstellung | Bedeutung LISTEN-KOMMANDOS
-------+--------------+--------------------------------------------
Delete | Leerzeichen | Ignorieren
Insert | Pluszeichen | Anzeigen
Tilde | Kreiszeichen | Haltepunkt
-------+--------------+--------------------------------------------
0..9 | 0..9 | setup-abhängiges Tracen
I,O | I,O | Debugger-Modi
* | * | All-Mode
-------+--------------+--------------------------------------------
-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
KONTROLLTASTEN KOMANDOS
Die Kontrolltasten sind die wichtigsten Tastenkombinationen des
SysMon. Sie gelten in allen Fenstern und Menüs und auch im Step-Menü.
Taste | Erläuterung | KONTROLLTASTEN
-------+----------------------+------------------------------------
ESCAPE | Tracer an/aus |
TAB | Tracer Modus ändern |
F1-F10 | Setup Änderung |
-------+----------------------+------------------------------------
^A | Aes | Funktionsgruppen an/aus
^V | Vdi |
^G | Gemdos |
^B | Bios |
^X | Xbios |
^L | LineA |
-------+----------------------+------------------------------------
^R | Return address | Tracerausgaben umschalten
^C | Caller name |
^N | Number of function |
^O | Output stack pointer |
^F | Flag supervisor mode |
^E | Extra output |
^W | WatchBypass |
-------+----------------------+------------------------------------
^P | Pd-changes | Tracerausgaben umschalten
^T | Trap-changes |
-------+----------------------+------------------------------------
-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
SONSTIGE KOMANDOS
Taste | Beschreibung SONSTIGE-KOMMANDOS
---------------+---------------------------------------------------
UNDO | Aktuelles Fenster schlie₧en
SPACE | SysMon verlassen, Programm fortfahren
HELP | Kurze Übersicht über die Bedienung von SysMon
---------------+---------------------------------------------------
^Z | Tracerschirm löschen (Nur wenn kein anderes
| Fenster offen ist)
Re. Shift | Umschalten des aktuell dargestellten Bildschirms
Re. Shift-CAPS | Festlegen des Default-Bildschirms
Re. Shift-HELP | SysMon-Bildschirm festlegen
Li. Shift-HELP | Maschinensprache-Debugger anspringen
---------------+---------------------------------------------------
Zehnerblock * | Dump des aktuellen Fensters in das Protokollfile
Alt. Zehnbl. * | Dump des aktuellen Fensters auf den Drucker
Li. Sh. Alt. * | Hardcopy des SysMon-Bildschirms über den TOS-
| Hardcopy-Vektor.
---------------+---------------------------------------------------
*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#
PROGRAMM INTERNA
-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
SYSMON UND DIE TRAPS
Wenn der Tracer ausgeschaltet ist, hängt SysMon im Keyboard-, Vbl-
und Gemdos-Vektor.
- Im Keyboard-Vektor werden die Tastendrücke auf die Kombination
Rechts-Shift-HELP untersucht.
- Aufgerufen wird SysMon dann im Vbl-Interrupt.
- Der Gemdos-Vektor wird benötigt, um das Starten und Beenden von
Programmen protokollieren zu können. Auf diese Weise kennt SysMon
alle nach ihm gestarteten Programme beim richtigen Namen.
Wird der Tracer eingeschaltet, so installiert sich SysMon zusätzlich
in den AesVdi, Bios, Xbios und LineA Vektoren.
-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
FUNCTION TABLE
Um die Ausgabe-Parameter von Funktionen ausgeben zu können, hängt
sich SysMon hinter jede Funktion, indem die Rücksprung-Adresse
modifiziert wird.
Die einfache Annahme, für jeden Trap genau eine Rücksprung-Adresse
zum jeweiligen Programm vermerken, ist leider falsch. Unter den
Multitasking-Systemen wie MagiX, MiNT und MultiTos ist sofort
einsichtig. Aber auch das alte Betriebssystem besitzt zum Teil
Multitasking-Funktionen ( Z.B das Aes-Taskswitching ). Es ist daher
es nicht so, da₧ derselbe Proze₧ aus dem Trap-Aufruf zurückkehrt, der
den Trap ausgelöst hat. Auch die Gemdos-Funktion Pexec, die ein
Programm als Kind-Proze₧ nachstartet, kehrt erst zurück, wenn der
Kind-Proze₧ beendet ist. Der Kind-Proze₧ kann (und wird sogar sehr
warscheinlich...) Gemdos}-Aufrufe benutzen, also ist auch hier ein
anderes Verfahren notwendig.
SysMon legt jeden Aufruf in einer Tabelle ( Function-Table ) ab.
Sobald der Aufruf zurückkehrt, wird der Tabelleneintrag gelöscht und
das auslösende Programm an der richtigen Adresse fortgesetzt.
Auf diese Weise können auch verschachtelte Aufrufe und Aufrufe aus
Interrupts heraus korrekt ausgegeben werden.
Im UsedTraps-Fenster wird eine Übersicht über die Funktionen gegeben,
die noch nicht aus dem Trap zurückgekehrt sind. Im Normalfall wird
dies für jedes Accessory und für das Hauptprogramm genau eine
Funktion sein. Wird das TOS oder GEM getraced oder sind residente
Treiber vorhanden, so sind Verschachtelungen von Funktionen möglich.
-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
BYPASS TABLE
SysMon versucht immer, der Erste in einem Trap zu sein, da sonst
Aufrufe von anderen Trap-Programmen abgefangen werden könnten. Aus
diesem Grunde werden die Traps laufend vom SysMon überwacht, dies
geschieht auch, wenn der Tracer nicht angeschaltet ist.
Programm ruft einen Trap auf
\
\
SysMon - Traphandler
\
\
TOS - Traphandler
/
/
SysMon - Function Table
/
/
Programm wird fortgesetzt
Wenn ein anderes Programm einen Trap-Handler installiert, wird der
SysMon Trap-Handler in eine Umleitung ( Bypass ) umgewandelt. Diese
springt lediglich die nachfolgende Adresse an. SysMon installiert
dann vorne im Trap einen neuen Trap-Handler.
Programm ruft einen Trap auf
\
\
SysMon - Traphandler
\
\
fremder Traphandler
\
\
SysMon Bypass (alter SysMon - Traphandler)
\
\
TOS - Traphandler
/
....
/
SysMon - Function Table
/
/
Programm wird fortgesetzt
Hängen sich mehrere Programme hintereinander in denselben Trap ein,
so wird zwischen jedem Programm ein Bypass im Trap installiert.
Wird der Trap vom anderen Programm auf die alte Adresse zurück-
gesetzt, so wandelt SysMon den Trap-Handler in einen Bypass um.
Der Bypass wird noch nicht freigegeben, da er vielleicht noch einmal
benötigt wird. Erst wenn der Speicherblock freigegeben wird, in dem
sich das Sprungziel des Bypasses befindet, wird dieser freigegeben.
Der Bypass, der an der alten Adresse vorhanden war, wird wieder in
einen Trap-Handler umgewandet.
Im UsedTraps-Fenster werden die vorhanden Bypasse und deren Sprung-
ziele aufgelistet.
-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
WATCH BYPASS FUNKTION
Ist die Sonderoption WatchBypass, die über die Controlltaste ^W
aktiviert wird, eingeschaltet, springt der Bypass nicht nur zur
nächsten Adresse weiter. Es wird in jeden Bypass eine Funktion
eingebunden, die die Funktionsnummer und die Rücksprung-Adresse des
Aufrufs auf Veränderungen überprüft.
Au₧erdem wird vermerkt, welcher Bypass eines Traps überhaupt an-
gesprungen wurde.
- Anhand des zuletzt angesprungenen Bypasses kann SysMon entscheiden,
ob ein anderes Programm als das Betriebsystem den Aufruf
beantwortet hat.
- Wurde die Rücksprungadresse verändert, so kann SysMon ausgeben,
welches Programm sich hinter den Aufruf gehängt hat.
- Wurde die Funktionsnummer verändert oder ein Aufruf nicht über
einen Trap, sondern nur über den Stack abgewickelt, so werden
diese Aufrufe ausgegeben.
Damit die WatchBypass-Funktion optimal funktioniert, mu₧ sie schon
beim Starten von SysMon aktiviert sein. Dies wird erreicht, indem der
Sondermodus WatchBypass und der Tracer eingeschaltet und dann das
Setup gespeichert wird. Beim nächsten Start installiert SysMon nicht
nur Bypasse vor dem aktuellen Trap-Handler, sondern auch zusätzliche
Bypasse hinter jedem Programm, das das XBRA-Verfahren verwendet.
Wenn der Tracer nicht angeschaltet ist, sind die WatchBypass-
Funktionen nicht eingebunden und es geht keine Rechenzeit verloren.
Wird SysMon beendet, so können die zusätzlich angelegten Bypasse
nicht ohne weiteres entfernt werden.
-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
SYSTABLE
Der SysTable ist ein eigenständiger Programmteil von SysMon. Er
befindet sich ganz vorne im SysMon Programm und besteht aus dem
Bypass- und dem Function-Table und einigen Funktionen, die zur
Verwaltung des Function-Table gehören.
Die Notwendigkeit eines eigenständigen Programmteils innerhalb des
SysMon-Programms läst sich am einfachsten Zeigen, indem man die
Nachteile aufzeigt, die ein 'ungeteilter' SysMon mit sich bringen
würde.
Würde SysMon bei der Quit-Option komplett aus dem Speicher entfernt
werden, ergäben sich folgende Probleme:
- Sind Bypasse angelegt worden, so werden diese weiterhin von den
anderen Programmen angesprungen.
- Wenn Funktionen im Function-Table eingetragen sind, so kehren diese
erst noch zum SysMon zurück, wo sie an die richtige Rücksprung-
adresse weitergeleitet werden müssen.
Es wäre also fatal den dafür notwendigen Programmcode aus dem
Speicher zu entfernen!
Der nur 4 KB gro₧e SysTable Programmteil übernimmt genau diese beiden
Aufgaben. Er entfernt sich sogar selber aus dem Speicher, wenn er
nicht mehr benötigt wird. Dies ist der Fall, wenn keine Bypasse an-
gelegt wurden und die letzte im Function-Table vorhandene Funktion
zurückgekehrt ist. Um auf die Freigabe hinzuweisen, wird ein
akustisches Signal erzeugt.
Bei der Quit-Option wird angezeigt, ob der SysTable im Speicher
verbleiben mu₧, oder ob SysMon komplett entfernt werden konnte.
Findet SysMon beim erneuten Start einen SysTable im Speicher, wird
dieser vollständig benutzt. Alle Aktionen im Zusammenhang mit den
Traps, dem Umlenken der Funktionen und das Beenden von SysMon werden
über den alten SysTable abgewickelt. Auf diese Weise braucht bei
wiederholtem SysMon-Start keine neuer Bypass- oder Function-Table
angelegt werden. SysMon kann dann immer komplett aus dem Speicher
entfernt werden.
Die Bypass-Tabelle wird nicht von SysTable überwacht, da diese Über-
wachung zu aufwendig wäre und den Programmcode des SysTable unnötig
vergrö₧ern würde. SysMon untersucht einen beim Starten vorgefundenen
Bypass-Table und gibt die nicht mehr benötigten Bypasse wieder frei.
Das UsedTraps-Fenster, das Angaben über den Zustand des Bypass- und
des Functions-Table ausgibt, zeigt genau genommen nicht den SysMon-
sondern den SysTable-Zustand an.
-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
AUTOPATCH SEQUENCE
Ein paar der Angaben des SysMon sind von undokumentierten System-
variablen abhängig. Dazu zählt zB die Speicherliste und das Scannen
nach schon geladenen Programmen beim Programmstart. SysMon läuft
auch, wenn keine dieser Systemvariablen gefunden wurde.
Für die bisherigen Tos-Versionen sind deren Adressen schon in SysMon
enthalten. Für das MagiX-Betriebssystem wurde eine generelle
Anpassung vorgenommen, die unabhängig von der eigentlichen Versions-
nummer sein sollte.
Wird SysMon auf einem Rechner mit unbekanntem Tos gestartet, so
stellt SysMon dies fest und versucht nun die Adressen der folgenden
Systemvariablen auf analytische Weise herauszufinden:
Element | Erläuterung SYSTEMVARIABLEN
--------+----------------------------------------------------------
ActPD | Der Zeiger auf den aktuellen Proze₧.
MBP | Die Basisadresse der Speicherlisten.
AesBase | Die Basisadresse der ersten 3 Aes-Blöcke.
AesList | Die Zeigerliste auf die restlichen Aes-Blöcke.
VdiList | Der Zeiger auf die erste Vdi-Workstation.
--------+----------------------------------------------------------
Damit die Aes- und Vdi-Adressen sicher erkannt werden, mü₧en
mindestens drei Accessories geladen sein. Au₧erdem darf kein externer
Vdi-Treiber (zB NVDI, GDOS...) benutzt werden.
Nachdem SysMon die Adressen gefunden hat, werden diese direkt in das
SYS_MON.PRG gepatcht, so da₧ die Installation des neuen Tos nur
einmal geschehen mu₧.
SysMon bietet vor der Suche noch eine Liste der Tos-Versionen mit
demselben Datum und Versionsnummer, aber zT unterschiedlichen Länder-
kennungen an. Diese sollten zuerst ausprobiert werden, aber die
Einstellung noch nicht in SysMon gespeichert werden (d.h. nicht
patchen lassen!).
Testen Sie einmal das Memory-Fenster und überprüfen Sie, ob beim
Starten alle Accessories korrekt erkannt wurden. Ist dies nicht der
Fall, booten Sie neu und versuchen Sie eine der anderen angebotenen
Versionen.
SysMon legt zusätzlich eine AUTOPTCH.LOG Datei an, die die Daten des
TOS enthält. Wenn Sie ein neues TOS korrekt installieren konnten,
schicken Sie mir bitte die AUTOPTCH.LOG Datei per Email oder per
Diskette ( falls Sie eh ein Update machen wollten ). Die TOS-Version
kann dann in den SysMon übernommen werden und den anderen Benutzern
dieser TOS-Version bleibt das Ausprobieren mittels der Autopatch-
Sequence erspart.
-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
PATCHVARIABLEN
Um SysMon an besondere Gegebenheiten und Wünsche anpassen zu können,
besitzt SysMon eine Reihe von Patchvariablen, deren Wert mit einem
Diskettenmonitor verändert werden können.
Am Anfang des SYS_MON.PRG Files findet sich der String 'SysMon_Var'.
Dieser markiert den Beginn der Patchvariablen, die der folgenden
Tabelle zu entnehmen sind:
Länge | Wert | Art | | Bedeutung PATCH-VARIABLEN
------+-------+-------------+-----------+--------------------------
Byte | 98 | Scancode | Help | Aufruf von SysMon
Byte | 1 | Shiftstatus | re.Shift | Aufruf von SysMon
Byte | 8 | Shiftstatus | Alternate | Abbruch der Installation
Byte | 4 | Shiftstatus | Control | SYS_MON.INF nicht laden
Byte | 0 | Flag | weiss | Menüfarbe
Byte | 1 | Flag | schwarz | Hintergrundefarbe
Long | 10000 | | | Länge des File Puffers
Long | 0 | | | Offset Logbase
Long | 0 | | | Offset Physbase
Word | 50 | Anz. Zeilen | | Gepufferte Tracerzeilen
Byte | 102 | Scancode | Block * | Fensterdump-Taste
Byte | 0 | Flag | | externe Tastatur
Word | 0 | Anz.Zeilen | | Maximale Tracerzeilen
Word | 0 | Anz.Zeichen | | Fread/Fwrite-Filedump
Byte | 1 | Flag | | Sound bei Quit
------+-------+-------------+-----------+--------------------------
Wird zum Beispiel für den Abbruch Shiftstatus der Wert 0 gewählt, so
Installiert sich SysMon nur, wenn beim Starten mindestens eine der
Sondertasten gedrückt gehalten wurde.
Die beiden Offsets sind bei älteren OverScan-Versionen ( < 1.7 )
einzutragen.
Ist bei Fread/Fwrite-Filedump ein Wert > 0 eingetragen, so gibt
dieser die maximale Anzahl der auszugebenden Zeichen bei ein-
geschaltetem ExtraOutput an.
Die anderen Patchvariablen werden jeweils im Zusammenhang bei den
betroffenen Funktionen erläutert oder sind selbsterklärend.
*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#
FEATURES
-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
UNTERSTUETZTE TOS VERSIONEN
Der SysMon arbeitet mit allen bekannten Single-Tos Versionen. Bei
Versionen, die nicht in der folgenden Tabelle aufgeführt sind, mu₧
SysMon erst die undokumentierten System-Variablen herausfinden. Siehe
Abschnitt AUTOPATCH SEQUENCE.
Art | Version | Datum | Land | Bemerkung SINGLE-TOS
----+---------+----------+----------------+------------------------
ROM | 4.04 | 08.03.93 | All | Falcon-Tos
RAM | 4.04 | 08.03.93 | All | Falcon-Tos
ROM | 4.02 | 26.01.93 | All | Falcon-Tos
ROM | 4.01 | 21.10.92 | All | Falcon-Tos
ROM | 3.06 | 24.09.91 | GER,FRA,UK,SWG | TT-Tos
ROM | 3.05 | 05.12.90 | GER,US |
ROM | 3.01 | 29.08.90 | GER,SWG,UK |
ROM | 3.01 | 09.08.90 | GER,SWG,UK |
ROM | 3.00 | 23.05.89 | US |
ROM | 2.06 | 14.11.91 | GER,UK | Mega-STe-Tos
ROM | 2.05 | 05.12.90 | GER,SWG,US |
ROM | 1.62 | 11.01.90 | GER,UK |
ROM | 1.6 | 29.07.89 | GER,UK | STe-Tos
ROM | 1.4 | 06.04.89 | GER |
ROM | 1.4 | 06.04.89 | GER | Kaos-Tos 1.42
RAM | 1.4 | 06.04.89 | GER | Kaos-Tos 1.41
ROM | 1.4 | 22.02.89 | GER |
RAM | 1.4 | 06.04.89 | GER | reloziertes Rom-Tos
RAM | 1.4 | 18.05.88 | GER | Beta-Tos
RAM | 1.4 | 22.02.88 | GER |
ROM | 1.2 | 22.04.87 | GER | Blitter-Tos
RAM | 1.2 | 22.04.87 | GER | Kaos-Tos
ROM | 1.0 | 06.02.86 | GER |
RAM | 1.0 | 06.02.86 | GER |
RAM | 1.0 | 20.11.85 | GER |
RAM | 1.0 | 29.05.85 | GER | Mushroom-Tos
----+---------+----------+----------------+------------------------
Das Multitasking-System MAGIX wird ab Version 2.0 unterstützt.
Die TOS-Erweiterung MiNT und das neue MultiTOS wird bisher noch nicht
unterstützt. Zwar werden die neuen Aufrufe schon erkannt und korrekt
ausgegeben, aber die Speicher- und Proze₧verwaltung von MiNT wird
noch nicht unterstützt, so da₧ keinerlei Informationen über geladene
Programme und deren Speicherbereiche vorliegt. Ein Tracen einzelner
Programme ist daher nicht möglich. Auch gibt es noch Probleme mit
der Memory-Protektion.
-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
UNTERSTUETZTE HARDWARE
Der SysMon arbeitet auf allen Atari-St Rechnern und unter allen
Standard-ST-Auflösungen.
FARBBILDSCHIRMEN
Bei SC1224 Farbbildschirmen arbeitet SysMon grundsätzlich in der
mittleren Auflösung; beim Wechseln der dargestellten Bildschirmseite
wird die vorherige Auflösung wieder eingestellt.
GROSSBILDSCHIRME
Bei Gro₧bildschirmen wird zur Ausgabe der zusätzlich angeschlossene
SM124, SC1224 oder TTM195 benutzt.
OVERSCAN ST
Unter OverScan und AutoSwitch-OverScan wird die beim Starten von
SysMon vorliegende Auflösung benutzt. Wird SysMon nach OverScan
gestartet, so werden die zusätzlichen Ausgabezeilen ausgenutzt.
OVERSCAN TT
Unter OverScanTT wird die beim Starten von SysMon vorliegende Auf-
lösung benutzt. Wird SysMon nach OverScanTT gestartet, so werden die
zusätzlichen Ausgabezeilen ausgenutzt.
STE
Beim STe gibt es neue Shifterregister, die es z.B. erlauben den Bild-
schirm byteweise zu positionieren. Diese Register werden beim Um-
schalten des aktuellen Bildschirms gesichert und beim Zurückschalten
wieder hergestellt. Trotzdem kommt es bei einige STE-Geräten zu einem
Versatz in der Darstellung.
TT
Auf dem TT wird bei Benutzung des VGA-Monitors oder bei Benutzung
einer externen Graphikkarte unabhängig von der aktuellen Auflösung
immer im ST-High Modus gearbeitet.
Bei Verwendung des hochauflösenden TTL-Monitors, wird die grö₧ere
Fläche ausgenutzt. Da die, auf dem TT enorme, Scrollgeschwindigkeit
bei 128 KB Bildschirmspeicher stark nachlä₧t, kann bei den Patch-
variablen eine maximale Zeilenzahl für den Tracer festgelegt werden.
Der Wert von 24 Zeilen bedeutet einen grö₧en Geschwindigkeitsgewinn,
die Fenster des SysMon benutzen weiterhin die grö₧ere Fläche.
FALCON
Auf dem Falcon wird immer im ST-High Modus gearbeitet. Die Um-
schaltung der neuen Videorigister auf diese definierte Auflösung
funktioniert auch bei Verwendung von Graphikerweiterungen wie Screen-
Blaster, BlowUp, HighVidelity etc. Unterstützt werden dabei der VGA-,
SC1224-, SM124- und TV-Modus. Unter Umständen kann es zu einem
Umklappen des Bildschirmrandes auf dem SysMon-Bildschirm kommen.
68000 68030
Für die verschiedenen Prozessoren werden jeweils die Trap-Handler an-
gepa₧t. Beim Starten findet ein Test der Exception-Vektoren statt, ob
die 32 bit-clean sind.
EXTERNE PC TASTATUREN
SysMon benutzt keine Bios-Funktionen, um die RechtsShift-HELP Tasten-
kombination festzustellen, sondern er installiert sich im Tastatur-
Interrupt. Benutzt man nun eine externe PC-Tastatur, die keine Inter-
rupts auslöst (Man mu₧ einen Treiber booten, damit die Tastatur
läuft), so kann SysMon nicht aufgerufen werden. Aus diesem Grunde
kann man bei den Patch-Variablen ein Flag setzen, damit SysMon über-
prüft, ob ALT-RechtsShift-HELP gedrückt wurde. Ändert man bei den
Patch-Variablen den 'Aufruf-Scancode', so hat dies keinen Einflu₧,
ändert man den 'Aufruf-Shiftcode', so mu₧ man ALT-HELP plus den
gewählten Shiftcode drücken, damit SysMon betreten wird.
-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
BESONDERERE TRACER AUSGABEN
AES MESSAGES
Die benutzerdefinierten Messages von GEMINI, CLIPBRD, KOBOLD, TRACER,
WATCHDOG, CAD-3D, DEGAS, CYBERSMASH, TDIMODULA, 1STADRESS, CHAMELEON,
SECURITY, MANAGER und auch das XACC-, IDC- und SCRAP-Protokoll werden
erkannt und mit Konstanten und Strukturen ausgegeben.
Die Systemmessages von TOS, MTOS und MAGIX werden natürlich auch
unterstützt.
Bei unbekannte AES-Messages wird der Message-Buffer komplett aus-
gegeben.
AES WINDGET WINDSET
Alle neuen TOS, MTOS, MAGIX und WINX Konstanten werden mit Konstanten
ausgegeben.
AES ERWEITERTEN AUSGABEN
Zu den erweiterten Ausgaben zählt die Ausgabe des Objekttyps und des
Strings eines Objektes bei den Objekt- und auch den Menü-Funktionen.
Au₧erdem werden einige der neueren MTOS Strukturen ausgegeben, z.B.
MENU und MN_SET.
Die undokumentierte, aber in allen bisherigen Tos-Versionen vor-
handene Funktion appl_yield (ausgegeben als $C9_yield ) zählt
eigentlich nicht zu den Aes-Funktionen. Die Ausgabe dieser Funktionen
kann durch die Funktion 'Unknown' in der Aes-Funktionsliste
beeinflu₧t werden.
Bei unbekannten Aes-Funktionen werden vor dem Trap die laut Control-
Feld belegten Einträge des Intin- und Adrin-Feldes und nach dem Trap
die Intout- und Adrout-Feldes ausgeben.
VDI
Die erweiterten Vdi-Metafile Escapes und der Inhalt der MDFB-Struktur
werden ausgegeben. SysMon zeigt auch die neuen Vdi-Funktionen des
FSM-GDOS, SPEEDO-GDOS und die Bezier-Funktionen an. Die Funktionen
vex_timer, vex_button, vex_mouse Funktionen dürfen nicht stepweise
getraced werden. Beim Steppen werden sie daher übersprungen.
Die Funktionen vq_gdos und vq_driver sind eigentlich keine Vdi-
Funktionen, weil sie eine andere Stack-Konvention für den Aufruf
benutzen. Die Ausgabe dieser Funktionen kann durch die Funktion
'Unknown' in der Vdi-Funktionsliste beeinflu₧t werden.
Bei unbekannten Vdi-Funktionen werden vor dem Trap die laut Control-
Feld belegten Einträge des Intin- und Ptsin-Feldes und nach dem Trap
die Intout- und Ptsout-Feldes ausgeben.
GEMDOS
Alle Netzwerk-Funktionen werden erkannt und mit den richtigen
Parametern ausgegeben. Als erweiterten Ausgaben können die DTA bei
Fsfirst, Fsnext, die Filenamen bei allen Operationen mit Filehandles,
die vorherige Blockgrö₧e bei Mfree und Mshrink und die Ausgabe der
Strukturen DISKINFO, DOSINFO und DOSVARS angezeigt werden.
Unter Color-OverScan ist es notwendig, bei den Funktionen Pterm0,
Pterm oder Ptermres kurz auf den GEM Bildschirm umzuschalten, wenn
gerade der SysMon Bildschirm dargestellt wurde.
Bei unbekannten Gemdos-Funktionen werden vor dem Trap die sechs
obersten Worte des Systemstacks und nach dem Trap der Rückgabewert
ausgegeben.
BIOS
Die Funktionen Setexc und Ticcal dürfen nicht stepweise getraced
werden und werden deshalb beim Steppen übersprungen. Die BPB Struktur
kann über die erweiterten Ausgaben angezeigt werden.
Bei unbekannten Bios-Funktionen werden vor dem Trap die sechs
obersten Worte des Systemstacks und nach dem Trap der Rückgabewert
ausgegeben.
XBIOS
Neben der Unterstützung der TT-Videofunktionen werden die neuen
Funktionen des Falcon komplett mit Konstanten und Strukturen aus-
gegeben. Bei den DSP-Funktionen kann über die erweiterten Ausgaben
der Kommunikations-Buffer ausgegeben werden. Bei den Falcon-Video-
funktionen wird mit den im TOS vorgegebenen Konstanten für die
Bildschirmmodi gearbeitet.
Die Funktionen des Metados-Treibers werden unterstützt.
Die Funktion Floprate wird unterstützt, und auch die erweiterten
XBIOS-Funktionen des OverScan ST werden erkannt. Die Strukturen
PARAM, IOREC, KEYTABLE, KBDVECS und PBDEF können über die erweiteten
Ausgaben angezeigt werden.
Wenn die Funktionen Physbase, Getrez, Setscreen aufgerufen werden und
gerade der SysMon Bildschirm dargestellt wird, ist es notwendig kurz-
zeitig auf den GEM Bildschirm umzuschalten.
Bei unbekannten XBios-Funktionen werden vor dem Trap die sechs
obersten Worte des Systemstacks und nach dem Trap der Rückgabewert
ausgegeben.
LINEA
Alle zu der jeweiligen Funktion gehörigen LineA Variablen werden aus-
gegeben. Die Strukuren MFORM, SDB und BITBLT können über die
erweiteten Ausgaben angezeigt werden.
-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
HILFEFENSTER
Ist kein Fenster geöffnet, so kann mit der HELP-Taste ein
Hilfefenster geöffnet werden, das die wichtigen Kommandos von
SysMon zusammenfa₧t.
Wie in den anderen Fenstern auch, kann man mit den Cursor-Kommandos
in der Ausgabe wandern und das Fenster mit UNDO schlie₧en.
*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#
-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
BUGREPORTS
Sollten Sie Probleme im Betrieb mit SysMon feststellen, so senden
Sie mir den Bugreport am Besten per EMail, damit ich die
Möglichkeit zu Rückfragen habe.
Beschreiben Sie möglichst genau ihre Hardware
Rechner
Speicher
zusätzliche Einbauten
und Software
TOS-Version, Länderkennung und Datum
Auto-Ordnerprogramme mit Versionsnummern und deren Reihenfolge
Accessories mit deren Versionsnummer
und der Einstellung im SysMon
Tracer an/aus
Funktionsgruppen
und die Vorgehensweis, um den Fehler zu reproduzieren.
Versuchen Sie vorher, den Fehler auf einem möglichst reduziertem
System zu erzeugen, dh schalten Sie die beteiligten Auto-Ordnerpramme
und Accessories nacheinander ab und testen Sie, ob der Fehler
jeweils noch auftritt. Versuchen Sie es auch einmal mit Booten
von der Diskette, da einige Probleme auch mit dem Plattentreiber
zusammenhängen können.
Bei Abstürzen (Bomben) ist ein Ascii-Dump mit Hilfe des TempleMon-
Debuggers (aktuell ist Version 2.02) sehr hilfreich. Den Dump
fertigen Sie folgenderma₧en an:
Starten Sie TempleMon vor SysMon. Wenn der Fehler auftritt sollte
der Rechner automatisch im TempleMon landen. Geben Sie nun
folgende Zeilen ein:
pdump.txt
r-
r
drpc-40 rpc+40
pc
Danach sollte sich ein dump.txt im aktuellen Direktory des
aktuellen Laufwerks befinden. Sie können statt dump.txt auch
gleich einen kompletten Pfad angeben, wie in pf:\dump.txt.
Bitte überprüfen Sie bei einem erneuten Systemstart mit identischer
Konfiguration, ob die im TempleMon angegeben Adresse überhaupt im
SysMon liegt, indem sie im Memory-Fenster nachsehen, welches
Programm zu der angegebenen Adresse gehört.
Manchmal hilft es mir auch bei der Fehlersuche, wenn Sie mir die
letzten paar Ausgaben auf dem SysMon Bildschirm mitteilen. Damit der
SysMon-Schirm als Hauptschirm aktiviert wird (und somit im TempleMon
mit F1/F2 auf ihn umgeschaltet werden kann) müssen Sie bei ein-
geschaltem Tracer einmal CAPS-LOCK - Rechts-Shift drücken. Wenn Sie
vorher Number (^N) aktiviert haben, mu₧ ich die Funktionsnummer nicht
erst raussuchen.
Die hier beschriebene Vorgehensweise für Bugreports eignet sich
selbstverständlich nicht nur für SysMon-Bugreports, sondern auch
bei Problemen mit anderen Software-Produkten. Der jeweilige
Programmierer wird Ihnen für die genauen Hinweise danken.
*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#
SHAREWARE HINWEIS
Unter der Voraussetzung, das die Dateien
README.TXT, SYS_MON.PRG, SYS_MON.MAN, SYS_MON.GEN und SYSTEM.MAN
unverändert und vollständig übernommen werden, darf SysMon für private
Anwender frei kopiert und benutzt werden. Kommerzielle Nutzung in jeder
Form (dies schlie₧t auch den Vertrieb über Public-Domain-Sammeldisketten
oder ähnliches ein) ist NICHT GESTATTET.
Eine Verbreitung der _unregistrierten_ Version über Mailbox-Systeme
und FTP-Server ist ab Version 1.0.9 wieder erlaubt, da SysMon ohne
Registrierung nur eingeschränkt genutzt werden kann. Registrierte
SysMon-Versionen dürfen NICHT weitergegeben werden.
Die neueste SysMon Version finden Sie daher in Mailboxen oder auf
FTP-Servern, desweiteren ist ein Update durch Zusendung einer
DD-Diskette und eines frankierten und adressierten Rückumschlages
an meine Adresse erhältlich.
Die Entwicklung von SysMon hat bisher 4 Jahre in Anspruch genommen, aus
diesem Grunde sehe ich mich nicht in der Lage, SysMon kostenlos (als PD
oder Freeware ) zu vertreiben.
Da SysMon ein sehr komplexes Produkt ist, dessen Benutzung schon einiges
an Wissen vorraussetzt, habe ich mich für das Konzept der Shareware
entschieden, wonach SysMon frei kopiert und ausprobiert werden darf,
für eine vollständige Nutzung jedoch ein Shareware-Betrag von DM 50,-
fällig wird.
Wird SysMon im professionellen Umfeld eingesetzt, so ist ein erhöhter
Shareware-Betrag von 100 DM fällig. Für diese 100 DM erhält die/der
jeweilige Firma/Softwareentwickler einen automatischen Update-Service
für die nächsten 5 Versionen (nach grö₧eren Änderungen) und eine
Rechnung/Quittung, damit sie SysMon von der Steuer absetzen können.
Meine Bankverbindung lautet :
Karsten Isakovic
Sparkasse der Stadt Berlin
Kto: 0950128864
Blz: 10050000
Bitte senden Sie mir zusätzlich eine kurze Mitteilung mit ihrer voll-
ständigen Adresse, damit ich Ihnen den Schüssel per Postkarte zu-
schicken kann.
Ich übernehme keine Haftung für irgendwelche direkten oder indirekten
Schäden - einschliesslich und nicht beschränkt auf materielle oder
finanzielle - die durch die Benutzung von SysMon oder die Untaug-
lichkeit von SysMon für einen bestimmten Zweck entstehen.
Bei Fragen und Problemen bin ich über folgende E-Mail-Adressen
erreichbar:
Internet ki@cs.tu-berlin.de
Subnet ki@tubopal.UUCP
Fido-Net K.I. % MAUS B @ 2:242/2.6
Maus-Net Karsten Isakovic @ B
Zerberus-Netz Karsten_Isakovic % MAUS B @ ZERMAUS.ZER
Berlin, 26 März 1994
Karsten Isakovic