Just been looking at this, and trying to thing of how to catch in the debugger.

From a very brief look at the sources (please correct me, if I got it wrong, or missed anything)

An error handler is installed to the OS, the handler is
function syswin32_i386_exception_handler(excep : PExceptionPointers) : Longint;stdcall;

This handler returns instructions (ignore, or alternative instruction pointer) to the OS ?
If this exception is handled it goes to JumpToHandleErrorFrame ?

Then in there the "longjmp" is triggered, and presumingly goes to the "except" block ?

If so, how can the debugger get notified (before the longjmp), in a way, that it can get the address where the problem occurred?

with raise exception the debugger can set a breakpoint, because raise exception is defined [public alias ...] so the debugger can read the address by knowing the name.
But the new code does not have that....
_______________________________________________
fpc-devel maillist  -  [email protected]
http://lists.freepascal.org/cgi-bin/mailman/listinfo/fpc-devel

Reply via email to