Re: exw.exe access violation error
- Posted by Robert Craig <rds at RapidEuphoria.com> Oct 05, 2001
- 403 views
Henri Goffin writes: > But a few days ago it began to crash because of a > memory violation: "The instruction at 004177f4 referenced > memory at 007d1014. The memory could not be written" In 2.3 the interpreter will have trace(3) which will allow you to log the exact Euphoria statement that was being executed when a machine-level crash like this occurred. Until then, you can insert print statements to pin down where the crash happens. e.g. fn = open("debug.dat", "w") .... puts(fn, "reached point A\n") flush(fn) .... puts(fn, "reached point B") flush(fn) etc. It's important to call flush() after each puts() since Euphoria does buffering of I/O. With a sudden machine-level crash, some data could be left in memory. A crash like this will sometimes go away when you make a trivial change to your program, or the way you are running it, or the environment. Sometimes the crash depends on the contents of some random location in memory. Most likely this crash is due to poking into an illegal memory location, or maybe passing bad arguments to a C routine. It could also be a bug in the interpreter, but the interpreter is pretty stable, and I don't know of any bugs like that. Regards, Rob Craig Rapid Deployment Software http://www.RapidEuphoria.com