Re: BREAKing into Euphoria
Andy Drummond wrote:
> Ah, but I have this enormous program and somewhere, somehow,
> it is locking up in a loop. If I went around putting in
> timeouts & traces I'd take longer than modifying the source
> for the interpreter and recompiling it and using a ctl-C or
> whatever. No, what I *need* is a way of getting the
> interpreter to enter its trace routine from keyboard use
> and not from trace(). Even then it is a problem because it
> is likely the program is not looking at the keyboard, so
> the interpreter would have to go check the keyboard itself
> for a break character.
> Apart from all that, it is likely that the loop is not supposed
> to be a loop anyway, so I wouldn't know to trace it.
> This is the ultimate cock-up cracker. I could use the profiler
> if I could get the program to stop cleanly rather than saying
> "This program is not responding - terminate anyway (Y/N)"
> which dumps anything it had available into a black hole.
> So thanks anyway, but - I need to ask the question again.
Have you tried:
with trace
trace(3)
It will slow your program down,
but you'll capture the last 500 statements
in a file, ctrace.out
After forcibly killing it, you might be able to
see in ctrace.out what it was doing when it
became non-responsive.
Regards,
Rob Craig
Rapid Deployment Software
http://www.RapidEuphoria.com
|
Not Categorized, Please Help
|
|