home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Fresh Fish 2
/
FFMCD02.bin
/
new
/
amigalibdisks
/
disk932
/
stackmon
/
stackmon.doc
< prev
next >
Wrap
Text File
|
1993-12-21
|
3KB
|
84 lines
StackMon v1.0
-------------
© 1993 David Kinder
-------------------
Introduction
------------
StackMon is a small utility to help programmers (and other users). Amiga
programs use their stack (a special area of memory) to store temporary
addresses, data, etc. The default stack is 4096 bytes, but this may not
be enough; some compilers can require over 100Kb. The stack size for a shell
is set by the 'stack' command. For a program run from Workbench, the size
is given in the icon; use the Workbench 'Information' option to examine
this value.
Use
---
StackMon requires AmigaDOS 2.04 or higher. There are no startup options;
just run StackMon from a shell or click on its icon.
When run StackMon presents a list of all the tasks and processes currently
running. This list is not updated automatically, as constructing this list
requires suspension of multitasking. If you run a program you want to
monitor after starting StackMon, click on the 'Update list' gadget so that
it appears in the list.
If the program you want to monitor was run from the Workbench, its name will
be that of the icon; if run from the shell the name is the exact name typed
into the shell, with path.
Click on the program you wish to monitor and StackMon will begin monitoring.
The display consists of numbers and a fuel gauge showing the current stack
use relative to the size of the stack. The numbers are:
Current: This is the amount of stack in use when the program was last
monitored.
Largest: The largest recorded stack ever in use by this program.
Stack : The stack allocated for this program.
If the program terminates while being monitored, monitoring ceases, and the
message 'Task Terminated' appears in the window. Monitoring of a program
can also be stopped by clicking on the 'Cancel' gadget. To change from
monitoring one program to another, simply click on the other program's name
in the list.
If the program exceeds its allowed stack, the message 'Stack Overflow'
will appear. Note that this behaviour by a program will make the system
very unstable and a crash is probably imminent. When setting the stack for
a program, always leave at least ~2Kb extra space, since DOS can also
use this stack and future versions of DOS may use more stack.
Caveat
------
StackMon takes a 'snapshot' of the stack use of a program, so a very sudden
'burst' of stack use may be missed. This is not very likely, however, as
StackMon checks the program several times a second.
Compiler
--------
StackMon was written using Amiga E v2.1b, a freely distributable compiler.
Note that E programs have their own stack managememt system, so StackMon is
not useful with these programs. However, E programs do not appear to ever
have stack overflow problems, as the compiler estimates the stack required
at compile time.
Address
-------
Bug reports, comments, etc. to:
InterNet Email (prefered): kinder@teaching.physics.ox.ac.uk
Post: David Kinder,
2, Clwtt Cottages,
Bangor Rd.,
Gyfelia,
Clwyd. LL13 0YL.