What is ARGUS.COM doing ? ========================= ARGUS - logs essential system activities of DOS into a text file. - works complete in the background (without screen output). This might be usefully if a program hangs up with 'unexplicable' messages (e.g. 'Out of Memory', 'File not found' and so on). Sometime it is already interesting, which interrupts are 'corrupted'. Since version 1.3 the printer output can be redirected in an file. This makes sense, if one searchs the reason for 'char confusion' on the paper, or if no printer is available. (printer substitute) After that the file can be printed with: COPY /B ARGUS.PRN PRN . The resident part of ARGUS occupies in dependence of the choosed options between 3.7 and 5.7 KByte of memory, thus no impairment to the inspected program should occure. The file ARGUS.LOG contains an example log. ARGUS REQUIRES: CPU 286 or above, MS-DOS 3.3 or above -------------------------------------------------------------------------- I understand this program as 'FREEWARE', i.e., anybody can get it free of charge (in the sense of distribution to the prime cost). If You like the program, send me a picture postcard of Your town or region. 'Of course' I give NO WARRANTY that ARGUS works correct on your computer. (c) M. Heilfort Ernst-Moritz-Arndt-Universitaet FB Physik F.-Ludwig-Jahn-Str. 16 D-17487 Greifswald Germany E-Mail: heilfort@ap01.physik.uni-greifswald.de ------------------------------------------------------------------------- Description =========== ARGUS -- log of system activities Call: ARGUS [ log file ] [ options ] [ /P [ print file ] ] ~~~~~ Presettings: log file = ARGUS.LOG ~~~~~~~~~~~~ print file = ARGUS.PRN options = /d/f /c Options: /? , -? : Show this help ~~~~~~~~ /a , -a : Log all activities /d , -d : Log access to directories /e , -e : Log using of EMS /em, -em : Log using of EMS and mapping /f , -f : Log access to files /fc, -fc : Log access to files and transfered bytes /i , -i : Log modifications of the INT table /l , -l : Log access to drives /m , -m : Log the memory managment /c , -c : Complete error messages /s , -s : Permanent saving of the log file /p , -p : Redirect the printer output into the print file To remove ARGUS simple run it again. The options in detail ~~~~~~~~~~~~~~~~~~~~~ /D ARGUS reports operations, which apply to directories. ~~~ /L ARGUS reports operations, which apply to drives. ~~~ /F Log of file operations. Not only FCB but also handle functions ~~~ are supervised. To save memory ARGUS doesn't remember the file name which belongs to a handle, i.e., all file operations are logged only with the handle number. Indeed, the reference to the file name is given while opening a file. /FC As the option /F. Additionally the read and write access is counted ~~~ for the handle functions. After closing the file the total amount of red or written bytes is reported. This number may be greater than the file size, if fixed parts of the file are transfered several times. /I Redefinitions of Interrupts via DOS function are reported with ~~~ INT number and address of the INT handler. Furthermore, the INT vectors 00h..1Ch, 20h..3Fh and 60h..7Fh are supervised with a check sum to detect 'hard' manipulations. In the case of change a warning occures. But not every warning reports an illicit manipulation, the COMMAND.COM sometime goes an 'internal' way. /M ARGUS logs memory allocation and release by DOS functions 48h..4Ah. ~~~ Additionally the size of remaining memory is reported bevor a program is executed. /E ARGUS only knowes the functions of EMM 3.0. In 99% of all cases ~~~ this should work. Unknown EMM functions are logged with the contents of register AX (= function number). /EM As the option /E. Additionally every mapping of an EMS page into a ~~~ page frame is reported. With programs heavy using EMS one should choose this combination only, if sufficient capacity on the hard disk is left ! /A Last not least it should be remembered that the option /A is equal ~~~ to /D/EM/FC/I/L/M, i.e., it very quickly 'produces' a big log file. /C With this option one gets complete error messages, otherwise the ~~~ logged funktion is only commented with 'OK' or 'FAIL !'. /S The option /S is only recommented, if there is the risk of system ~~~ crash, since the permanent saving of the log file slowes down the program execution. NOTE: You should disable a write cache (e.g. SMARTDRV). /P ARGUS redirects the printer output into a print file. This works ~~~ with BIOS function (INT 17h) as well as with DOS functions (function 5, handle 4 or file 'PRN'). In the most cases it works with the 'print screen' key, too. Remarks: ~~~~~~~~ The preseted options '/D/F/C' are only valid if there are no options choosed in the command line. If you ADDITIONALLY want to supervise e.g. the EMS, you've to use '/D/F/C/E'. If one of the options '/D/E/F/I/L/M' is used together with '/A', then it is turned off, i.e. '/A/E' is equal to '/D/FC/I/L/M' (all except EMS). You can write all options in upper cases as well as in lower cases. The order of the parameters is equal with one exception: If the option /P is used, the name of the log file must stand before and the name of the print file always after this option. Between options and file names should be at least one space. A missing file extender will be read as '.LOG' or '.PRN'. The file names can contain an path name. If it is omitted, the directory is used, which is the current one, when ARGUS starts. Later directory changes doesn't matter. (HINT: The complete(!) file name must not be longer than 120 chars.) It goes without saying, that during the log not only the drive and the directory (may be difficult with floppy or network!) but also the log file itself has to be permanently accessible. ARGUS logs independend of the choosed options every program start and the corresponding termination. This lines are particularly marked, so that you easily can find which messages correspond to which program. Additionally the PSP address (where the program is stored in memory) is reported. The allocation of user actions to the therby initiated program activities can be done by the logged time. In the simplest way one waits bevor every input, e.g. one minute. You can avoid unnecessary messages within the log file, if you start ARGUS and the supervised program directly from DOS, i.e. not within a batch file or a user interface. Bevor a program starts and after its termination you can get 'gaps' into the log file. I assume that it is caused from the fact, that DOS is not reentrant and the COMMAND.COM uses some DOS functions in a direct way. Nevertheless, ARGUS reports this (rare) case with a line as 'log file incomplete'. In contrast to all earlier versions since V1.5 ARGUS automatically detects the best position in memory and loads the resident part to this place. Do NOT use LOADHIGH any more. The resident size depends on the following states: EMS logged ³ complete error messages ³ resident size ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÅÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÅÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ no ³ no ³ 3728 Byte no ³ yes ³ 4320 Byte yes ³ no ³ 4976 Byte yes ³ yes ³ 5184 Byte The option /FC requires in every case additional 512 byte. Structure of the log file ~~~~~~~~~~~~~~~~~~~~~~~~~ 1.) Header with date and time, e.g.: ~~~ ARGUS V1.6 - (c) by M. Heilfort, March 1995 Mar, 31 1995 14.20.30 : ------- start of log -------- : resident ARGUS occupies 4832 Byte 2.) Messages with the following structure: ~~~ time : logged function : parameter of the function with choosed option /C in the error case a second line followes: error numb.: error message Example: 14.20.35 : create directory : argus.dem OK 14.20.35 : change directory : argus.dem OK 14.20.35 : query current directory: C:\ARGUS\ARGUS.DEM OK 14.20.35 : remove directory : C:\ARGUS\ARGUS.DEM FAIL ! error 16 : can't delete current directory Problems, which only occur, if ARGUS is installed: ~~~~~~~~ * In connection with MORE. At the best the log will get some gaps, older versions of ARGUS caused system crashes, too. Probable reason: DOS-Pipe. * resident print driver (e.g. PRINT) ARGUS can not be removed. The print file remains emtpy. * ARGUS should not be resident, if one starts WINDOWS. (Besides, WINDOWS activities could not be logged.) * ... ??? (Please send an E-Mail with error description to the author.) History: ~~~~~~~~ developed ³ Version ³ logs / features ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÅÄÄÄÄÄÄÄÄÄÅÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ 04.03. - 06.03.1993 ³ V 1.0 ³ Create/Open/Close File (FCB & Handle) ³ ³ Change Dir ³ ³ Set INT-Vector ³ ³ Execute, Exit ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÅÄÄÄÄÄÄÄÄÄÅÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ 16.03. - 18.03.1993 ³ V 1.1 ³ Create/Open/Close File (FCB & Handle) ³ ³ Create temporary File ³ ³ Change/Make/ReMake/Get Dir ³ ³ Set INT-Vector ³ ³ Get/Release/Change Mem ³ ³ Execute, Exit, Stay resident ³ ³ complete error messages ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÅÄÄÄÄÄÄÄÄÄÅÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ 22.03. - 24.03.1993 ³ V 1.2 ³ Create/Open/Close/Erase File (FCB & Handle) ³ ³ Create temporary File ³ ³ Double/Conform Handle ³ ³ Change/Make/ReMake/Get Dir ³ ³ Set INT-Vector ³ ³ Get/Release/Change Mem ³ ³ EMS-Functions 1..9,12..14 (40h..48h,4Bh..4Dh) ³ ³ Execute, Exit, Stay resident ³ ³ complete error messages ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÅÄÄÄÄÄÄÄÄÄÅÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ 29.03. - 30.03.1993 ³ V 1.3 ³ as V 1.2, additionally printer redirection ³ ³ into a file ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÅÄÄÄÄÄÄÄÄÄÅÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ 05.04.93 ³ V 1.31 ³ as V 1.3, but compressed messages; 14.04.93 ³ V 1.32 ³ resident size depends on the necessary ³ ³ messages ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÅÄÄÄÄÄÄÄÄÄÅÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ 21.07. - 22.07.1993 ³ V 1.4 ³ as V 1.32, with self test to detect ³ ³ modifications (e.g. by a virus) 07.12.93 ³ V 1.41 ³ (internal) 21.12.93 ³ V 1.42 ³ as V 1.4, English version too 05.01.94 ³ V 1.43 ³ as V 1.4, corrected printer redirection ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÅÄÄÄÄÄÄÄÄÄÅÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ 06.01. - 10.01.1994 ³ V 1.5 ³ as V 1.43, additionally access to drives ³ ³ new options: /L /EM ³ ³ resident part of ARGUS is automatically ³ ³ loaded to the best place in memory 03.05.94 ³ V 1.51 ³ as V 1.5, 'cosmetical' changes ³ ³ first SimTel distributed version 26.05.94 ³ V 1.52 ³ as V 1.51, messages updated 15.11.94 ³ V 1.53 ³ as V 1.52, bug in file logging removed 23.03.95 ³ V 1.54 ³ as V 1.53, bug in error messages removed, ³ ³ report PSP of started program ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÅÄÄÄÄÄÄÄÄÄÅÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ 26.03. - 02.04.1995 ³ V 1.6 ³ as V 1.54, improved file logging ³ ³ new option: /FC 03.04.95 ³ V 1.61 ³ as V 1.6, bug in EMS messages removed, ³ ³ second SimTel distributed version