
                        Was kann ARGUS.COM ?
                        ====================

ARGUS  - protokolliert die wesentlichsten Systemaktivitten unter DOS in
         eine Textdatei.
       - arbeitet vollstndig im Hintergrund (ohne Bildschirmausgaben).

Das kann ganz ntzlich sein, wenn ein (fremdes) Programm pltzlich mit
'unerklrbaren' Fehlermeldungen (z.B. 'Out of Memory', 'File not found'
usw.) seinen Dienst verweigert. Manchmal ist es auch schon ganz interes-
sant, welche Interrupts 'verbogen' werden.

Seit der Version 1.3 kann auch die Druckausgabe in eine Datei umgeleitet
werden. Sinnvoll ist das, wenn man die Ursache von 'Zeichensalat' auf
dem Papier suchen will, oder wenn z.B. gar kein Drucker angeschlossen
ist (Druckerersatz).
Die Datei lt sich anschlieend so drucken: COPY /B ARGUS.PRN PRN .

Der residente Teil von ARGUS belegt je nach gewhlten Optionen
zwischen 3.8 und 5.9 KByte Speicher, was den Betrieb des zu unter-
suchenden Programmes nicht beeintrchtigen sollte.

Die Datei ARGUS.LOG enthlt ein Beispiel-Protokoll.

ARGUS bentigt: CPU 286 oder hher, MS-DOS 3.3 oder hher
--------------------------------------------------------------------------

Ich betrachte das Programm als FREEWARE, d.h., Sie knnen es ohne
Registrierung nutzen und (kostenlos) weitergeben.
Von zufriedenen Nutzern htte ich gern eine Ansichtskarte ihrer Stadt bzw.
Gegend; unzufriedene Nutzer knnen ihren rger auch auf eine normale
Postkarte schreiben...

'Natrlich' gebe ich KEINE GARANTIE, da ARGUS auf Ihrem Computer
einwandfrei luft.

(c)   M. Heilfort
      Ernst-Moritz-Arndt-Universitt
      FB Physik
      F.-Ludwig-Jahn-Str. 16
      D-17487 Greifswald
      Germany

E-Mail: heilfort@ap01.physik.uni-greifswald.de

-------------------------------------------------------------------------



                           Beschreibung
                           ============


Aufruf:  ARGUS  [ Protokolldatei ] [ Optionen ] [ /P [ Druckdatei ] ]
~~~~~~~
Voreinstellungen:     Protokolldatei = ARGUS.LOG
~~~~~~~~~~~~~~~~~     Druckdatei     = ARGUS.PRN
                      Optionen       = /d/f /c

Optionen:  /? , -?  : Ausgabe dieser Hilfe
~~~~~~~~~  /a , -a  : Protokoll aller berwachten Aktivitten
           /d , -d  : Protokoll des Zugriffes auf Verzeichnisse
           /e , -e  : Protokoll des Zugriffes auf EMS
           /em, -em : Protokoll des Zugriffes auf EMS incl. Mapping
           /f , -f  : Protokoll des Dateizugriffes
           /fc, -fc : Protokoll des Dateizugriffes incl. Transfer
           /i , -i  : Protokoll von Modifikationen der INT-Tabelle
           /l , -l  : Protokoll des Zugriffes auf Laufwerke
           /m , -m  : Protokoll der DOS-Speicherverwaltung
           /c , -c  : komplette Fehlermeldungen im Protokoll
           /s , -s  : stndige Sicherung des Protokollfiles
           /p , -p  : Umleiten der Druckausgabe in die Druckdatei


Um ARGUS zu deinstallieren, mu man es erneut aufrufen.


Die Optionen im Detail
~~~~~~~~~~~~~~~~~~~~~~
/D   ARGUS meldet Operationen, die sich auf Verzeichnisse beziehen.
~~~
/L   ARGUS meldet Operationen, die sich auf Laufwerke beziehen.
~~~
/F   Protokoll einiger Datei-Operationen. Es werden sowohl die FCB- als
~~~  auch die Handle-Funktionen berwacht. Um Speicher zu sparen,
     verwaltet ARGUS leider nicht den zum jeweiligen Handle gehrenden
     Dateinamen, so da bei allen Dateioperationen nur die jeweilige
     Handlenummer erscheint. Der Bezug zum Dateinamen ist allerdings
     beim ffnen der Datei gegeben.

/FC  Wie Option /F, zustzlich werden Schreib- und Lesezugriffe
~~~  bei Handle-Funktionen gezhlt. Beim Schlieen der Datei erscheint
     dann im Protokoll die Gesamtzahl der gelesenen bzw. geschriebenen
     Bytes. Diese Zahl kann grer als die Dateilnge sein, wenn auf
     bestimmte Bereiche der Datei mehrfach zugegriffen wird.

/I   Umdefinition von Interrupts via DOS-Funktion werden mit
~~~  Angabe von INT-Nummer und Adresse der INT-Routine vermerkt.
     Darberhinaus werden die INT-Vektoren 00h..1Ch, 20h..3Fh und
     60h..7Fh mittels Prfsumme auf 'harte' Manipulation berwacht.
     Bei Vernderungen erfolgt eine Warnung.
     Aber nicht jede Warnung zeugt von einer unerlaubten Manipulation,
     die COMMAND.COM bedient sich selbst gelegentlich 'direkt'.

/M   ARGUS protokolliert Speicheranforderungen und -freigaben, die ber
~~~  die DOS-Funktionen 48h..4Ah erfolgen. Zustzlich wird vor jedem
     Programmstart auch die Gre des verfgbaren Speichers ermittelt.

/E   ARGUS kennt nur die Funktionen des EMM 3.0. In 99% aller Flle
~~~  sollte das reichen. Bei unbekannten EMM-Funktionen wird der Inhalt
     des Registers AX (= Funktionsnummer) ausgegeben.

/EM  Wie Option /E, zustzlich wird jedes Laden einer EMS-Seite in den
~~~  PageFrame protokolliert. Bei Programmen, die ausgiebig vom EMS
     Gebrauch machen, sollte man diese Kombination nur whlen, wenn noch
     genug Platz auf der Festplatte vorhanden ist !

/A   Der Vollstndigkeit halber sei daran erinnert, da die Option /A
~~~  der Folge /D/EM/FC/I/L/M entspricht, und folglich sehr rasch eine
     groe Protokolldatei 'produziert'.

/C   Damit erhlt man komplette Fehlermeldungen, sonst wird die protokol-
~~~  lierte Funktion nur mit 'OK' oder 'FAIL !' kommentiert.

/S   Die Option /S empfiehlt sich nur, wenn die Gefahr eines System-
~~~  absturzes besteht, da das stndige Sichern der Protokolldatei die
     Programmausfhrung erheblich bremsen kann.
     HINWEIS: Sie sollten einen SCHREIB-Cache (z.B. SMARTDRV) ausschalten.

/P   ARGUS lenkt die Druckausgabe in eine Druckdatei um. Dabei werden
~~~  sowohl die BIOS-Routine (INT 17h) als auch die DOS-Funktionen
     (Fkt. 5, Handle 4, Datei 'PRN') abgefangen.
     In der Regel funktioniert das sogar fr die 'PrintScreen'-Taste.


Bemerkungen
~~~~~~~~~~~
Die voreingestellten Optionen '/D/F/C' gelten nur fr den Fall, da keine
Optionen in der Kommandozeile ausgewhlt werden. Wenn man z.B. ZUSTZLICH
auch den EMS berwachen mchte, mu man '/D/F/C/E' eingeben.
Wird eine der Optionen '/D/E/F/I/L/M' zusammen mit '/A' verwendet,
schaltet es diese aus, d.h., '/A/E' ist dasselbe wie '/D/FC/I/L/M'
(alles auer EMS).

Alle Optionen knnen sowohl mit Gro- als auch mit Kleinbuchstaben
angegeben werden. Die Reihenfolge der Parameter ist beliebig, mit einer
Ausnahme: Wenn die Option /P genutzt wird, mu der Name des Protokoll-
files immer vor ihr stehen und der Name des Druckfiles immer dahinter.
Zwischen Optionen und Dateinamen sollte sich (wenigstens) ein Leerzeichen
befinden.
Fehlt die Dateierweiterung, wird automatisch '.LOG' bzw. '.PRN' ergnzt.
Die Dateinamen knnen eine Pfadangabe enthalten. Fehlt diese, dann werden
die Dateien in dem Verzeichnis gefhrt, das beim Aufruf von ARGUS das
aktuelle war. Sptere Verzeichniswechsel ndern daran nichts.
(Der komplette(!) Dateinamen darf nicht lnger als 120 Zeichen sein.)

Es versteht sich wohl von selbst, da whrend des Protokolles sowohl
Laufwerk und Verzeichnis (evtl. Probleme bei Diskette, Netzwerk !)
als auch die Protokolldatei stndig verfgbar sein mssen.


ARGUS protokolliert unabhngig von den gewhlten Optionen jeden Programm-
start und jedes Programmende. Da es diese im Protokoll speziell markiert,
lassen sich die Meldungen leicht zuordnen. Zustzlich vermerkt ARGUS die
Adresse des PSP (wo das gestartete Programm im Speicher steht).

Die Zuordnung von Nutzeraktionen zu den davon ausgelsten Programmaktivi-
tten kann durch die protokollierte Zeit hergestellt werden.
Im einfachsten Fall wartet man vor jeder Eingabe z.B. eine Minute.

berflssige Angaben in der Protokolldatei kann man weitgehend vermeiden,
wenn man ARGUS und das zu untersuchende Programm direkt unter DOS startet,
also nicht innerhalb eines BATCH-Files oder unter einer Nutzeroberflche.

Vor dem Starten bzw. nach dem Beenden eines Programmes kann es zu 'Lcken'
im Protokoll kommen, da die dann arbeitende COMMAND.COM sich nicht immer
mit ARGUS vertrgt.
Wahrscheinlich liegt die Ursache in der engen Verflechtung von DOS und
COMMAND.COM und darin, da DOS nicht wiedereintrittsfhig ist.
Derartige Fehler beim Protokollieren sind sehr selten und werden normaler-
weise im Protokoll vermerkt. (Meldung: 'Protokoll unvollstndig')


Im Gegensatz zu frheren Versionen ermittelt ARGUS seit V1.5 automatisch
den besten Platz im Speicher. LOADHIGH sollte NICHT mehr genutzt werden.

Die residente Gre hngt von folgenden Zustnden ab:

 EMS berwacht  komplette Fehlermeldungen  residente Gre

     nein                 nein               3808 Byte
     nein                  ja                4448 Byte
      ja                  nein               5120 Byte
      ja                   ja                5328 Byte

Die Option /FC kostet in jedem Fall zustzliche 512 Byte.


Aufbau der Protokolldatei
~~~~~~~~~~~~~~~~~~~~~~~~~
1.) Kopfbereich mit Datum und Uhrzeit, z.B.:
~~~
   ARGUS V1.6  -  (c) by M. Heilfort, Mrz 1995

31. Mrz 1995
14.20.30 :  ------ Start des Protokolles ------
         :  residentes ARGUS belegt 4960 Byte

2.) Eintrge mit folgenden Aufbau:
~~~
Uhrzeit  :  protokollierte Funktion  : Parameter der Funktion

im Fehlerfall folgt bei aktivierter Option /C eine zweite Zeile:

            Fehler Nr. : Klartextfehlermeldung

Beispiel:

14.20.35 :  Verzeichnis erzeugen   : argus.dem  OK
14.20.35 :  Verzeichnis wechseln   : argus.dem  OK
14.20.35 :  Verzeichnis ermitteln  : C:\ARGUS\ARGUS.DEM  OK
14.20.35 :  Verzeichnis lschen    : C:\ARGUS\ARGUS.DEM  FAIL !
            Fehler  16 :  aktuelles Verzeichnis nicht lschbar


Probleme, die nur auftreten, wenn ARGUS installiert ist:
~~~~~~~~

* In Verbindung mit MORE.
    Im gnstigsten Fall kommt es nur zu Lcken im Protokoll,
    ltere Versionen von ARGUS brachten auch Systemabstrze.
    Wahrscheinliche Ursache: DOS-Pipe.

* residenter Druckertreiber (z.B. PRINT)
    ARGUS lt sich nicht mehr entfernen, die Druckdatei bleibt leer.

* ARGUS sollte nicht resident sein, wenn man WINDOWS startet.
    (WINDOS-Aktivitten lassen sich ohnehin nicht protokollieren.)

* ... ??? (Bitte E-Mail mit Fehlerbild an den Autoren schicken.)


Historie:
~~~~~~~~~
    entwickelt       Version  protokolliert / Merkmale

04.03. - 06.03.1993  V 1.0    Erzeugen/ffnen/Schlieen Dateien (FCB & Handle)
                              Verzeichniswechsel
                              Setzen INT-Vektor
                              Starten und Beenden von Programmen

16.03. - 18.03.1993  V 1.1    Erzeugen/ffnen/Schlieen von Dateien
                                (FCB & Handle)
                              Erzeugen temporrer Dateien
                              Erzeugen/Lschen/Wechseln/Ermitteln von
                                Verzeichnissen
                              Setzen INT-Vektor
                              Anfordern/Freigeben/ndern von Speicherblcken
                              Starten, Beenden und Residentbleiben
                                von Programmen
                              komplette Fehlermeldungen

22.03. - 24.03.1993  V 1.2    Erzeugen/ffnen/Schlieen/Lschen von Dateien
                                (FCB & Handle)
                              Erzeugen temporrer Dateien
                              Verdoppeln/Angleichen von Handles
                              Erzeugen/Lschen/Wechseln/Ermitteln von
                                Verzeichnissen
                              Setzen INT-Vektor
                              Anfordern/Freigeben/ndern von Speicherblcken
                              EMS-Funktionen 1..9,12..14 (40h..48h,4Bh..4Dh)
                              Starten, Beenden und Residentbleiben
                                von Programmen
                              komplette Fehlermeldungen

29.03. - 30.03.1993  V 1.3    wie V 1.2, zustzlich Umleiten der
                              Druckausgabe in eine Datei

05.04.93             V 1.31   wie V 1.3, jedoch komprimierte Meldungen;
14.04.93             V 1.32   residente Gre in Abhngigkeit von den
                              bentigten Meldungen

21.07. - 22.07.1993  V 1.4    wie V 1.32, zustzlich Selbsttest
                              auf Modifikation (z.B. durch einen Virus)
07.12.93             V 1.41   (intern)
21.12.93             V 1.42   wie V 1.4, jetzt auch in Englisch
05.01.94             V 1.43   (intern), Fehler in Druckerumleitung behoben

06.01. - 10.01.1994  V 1.50   wie V 1.43, zustzlich Laufwerke
                              neue Optionen: /L /EM
                              residenter Teil von ARGUS automatisch an
                              optimale Speicherposition geladen
03.05.94             V 1.51   wie V 1.5, 'kosmetische' nderungen
                              erste ber SimTel vertriebene Version
26.05.94             V 1.52   wie V 1.51, Meldungen berarbeitet
15.11.94             V 1.53   wie V 1.52, Bug im Fileprotokoll entfernt
23.03.95             V 1.54   wie V 1.53, Bug im Fehlermeldungen entfernt,
                              Adresse des PSP jedes gestarteten Programmes

26.03. - 31.03.1995  V 1.6    wie V 1.54, erweiteres Fileprotokoll
                              neue Option: /FC
03.04.95             V 1.61   wie V 1.6,  Bug in EMS-Meldungen entfernt,
                              zweite ber SimTel vertriebene Version
