Programs compiled with AmigaE do not use the stack given by system, but
instead they create their own. Unfortunately, this is done in non
system-friendly way, so SPLower and SPUpper pointers in task structure keep
old values. It cause wrong behaviour of all programs which check the
stack (StackMon, StackCheck, MCC NList).
This AmigaE module fixes the problem. It fakes the SPLower and SPUpper
values.
How to use it:
At the beginning of the program add following line:
x:=fakestack() -> Fakes stack pointers' values
At the end type:
fakestack(x) -> Restore old values
Example:
----------------------
MODULE 'fakestack'
PROC main()
DEF stack
stack:=fakestack()
-> Here's your program
fakestack(stack)
ENDPROC
----------------------
WARNING: This is a hack. It has been tested with registered version of
AmigaE 3.2e. I don't know how it works with other versions of E.
If you want to contact me, write to:
Piotr Pawlow
ul. Lewartowskiego 12 m 46
00-185 Warszawa
Poland
EMail: pp@cs.com.pl
|