
                        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.4 und 5 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.
'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

Ansichtskarten und hilfreiche Kommentare sind willkommen.
-------------------------------------------------------------------------



                           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
           /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.

/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/F/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/F/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.

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 V 1.5 jetzt 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               3488 Byte
     nein                  ja                4144 Byte
      ja                  nein               4816 Byte
      ja                   ja                5040 Byte



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

03. Mai 1994
02.20.30 :  ------ Start des Protokolles ------
         :  residentes ARGUS belegt 5040 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:

02.20.35 :  Verzeichnis erzeugen   : argus.dem  OK
02.20.35 :  Verzeichnis wechseln   : argus.dem  OK
02.20.35 :  Verzeichnis ermitteln  : C:\ARGUS\ARGUS.DEM  OK
02.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
