Discussion:
Error location
(too old to reply)
Tom de Neef
2007-04-25 17:20:30 UTC
Permalink
A user reports an AV error at address 00404F70 (write of address 00415618).

I run the app and then use Search - Find error and go to 00404F70.
This appears to be in a piece of assembler where the last label is called
@LStrAsg.
The instruction reads LOCK INC DWORD PTR [EDX-$08]

When I set a breakpoint on the line of code it is trapped even before
application.Initialize in the program file. Actually, the code is executed
hundreds of times, apparently in setting up the units.

I am at a complete loss.
Can anybody give my some hints pls.
Tom
Tom de Neef
2007-04-25 17:41:27 UTC
Permalink
Post by Tom de Neef
A user reports an AV error at address 00404F70 (write of address 00415618).
Forgot to tell: the error does not occur during start-up but rather when
closing down the application.
Tom
Rob Kennedy
2007-04-25 17:53:04 UTC
Permalink
Post by Tom de Neef
A user reports an AV error at address 00404F70 (write of address 00415618).
I run the app and then use Search - Find error and go to 00404F70.
This appears to be in a piece of assembler where the last label is called
@LStrAsg.
LStrArg is the RTL function that gets called whenever you assign an
AnsiString. It gets called hundreds of times during your program. You
need more information about when the error occurs. A stack trace would
be nice.

Use JclDebug or MadExcept to get a stack trace when an exception occurs.
It will tell you not only where the exception occurred, but also how
your program got to that point.
--
Rob
Tom de Neef
2007-04-25 21:15:05 UTC
Permalink
Post by Rob Kennedy
Post by Tom de Neef
A user reports an AV error at address 00404F70 (write of address 00415618).
I run the app and then use Search - Find error and go to 00404F70.
This appears to be in a piece of assembler where the last label is called
@LStrAsg.
LStrArg is the RTL function that gets called whenever you assign an
AnsiString. It gets called hundreds of times during your program. You need
more information about when the error occurs. A stack trace would be nice.
Use JclDebug or MadExcept to get a stack trace when an exception occurs.
It will tell you not only where the exception occurred, but also how your
program got to that point.
Whow !
I've installed MadExpres. Incredible.
Thanks for the advice.
Tom

Loading...