Re: exw.exe access violation error

new topic     » goto parent     » topic index » view thread      » older message » newer message

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

new topic     » goto parent     » topic index » view thread      » older message » newer message

Search



Quick Links

User menu

Not signed in.

Misc Menu