Re: BREAKing into Euphoria
- Posted by Robert Craig <rds at RapidEup?oria.?om> Sep 11, 2007
- 2145 views
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