> < ^ Date: Mon, 09 Nov 1992 20:25:01 +0100
> < ^ From: Martin Schoenert <martin.schoenert@math.rwth-aachen.de >
< ^ Subject: Re: debugging

Derek Holt writes in his message of 06-Nov-92:

(During that day I had two corrupt e-mail addresses on the forum's
mailing list, so I received every letter thrice. One copy for me and two
e-mails returned by some MAIL-DAEMONS. Can you imagine my feelings when
I saw that morning that I had more than 30 new e-mail messages? ;-)

The discussion on break loops reminded me of a problem I had the other day.
What happened when I entered the break loop was that I got a complete
traceback of all the functions that were currently being executed.
Something like:

Error, Finite field /: operands must have the same characteristic at
g := RemainderCoeffs( f, g ) ... in
GcdPol( f, cyc ) called from
IorNIPol( f, fld ) called from
Exploitable( g, p, F ) called from
SLIdentify( f, gens ) called from
main loop

(in fact exactly that). Notice that several of the functions involved have
parameters f and g, all with different values. I was not sure how to
inspect the current value of f, say, in a particular function, say
IorNIPol. Can someone tell me how to do that?

There will be functions 'NextEnvironment' and 'PrevEnvironment', which
will allow you to step up and down the stack. Each local variable will
then be searched on that level. So to find 'foobar' 8 levels deep you
write 'NextEnvironment(8); foobar; PrevEnvironment(8);'. Currently it is
not possible.


-- .- .-. - .. -.  .-.. --- ...- . ...  .- -. -. .. -.- .-
Martin Sch"onert,   Martin.Schoenert@Math.RWTH-Aachen.DE,  +49 241 804551
Lehrstuhl D f"ur Mathematik, Templergraben 64, RWTH, D 51 Aachen, Germany

> < [top]