[fpc-pascal] How do FreePascal implement hardware exceptions handling?

Andrzej Borucki borucki.andrzej at gmail.com
Sat Dec 15 18:40:37 CET 2012


I analyze FreePascal exceptions handling. Instead use of try-excpt-finally
statement I rather use fpc_LongJmp,fpc_PushExceptAddr etc. It works fine
for software exceptions (fpc_RaiseException) but not handle hardware
exceptions. I use install_exception_handlers at start program. This call
SetUnhandledExceptionFilter(@syswin32_i386_exception_handler) but is
problem:
in syswin32_i386_exception_handler is comparing "if
excep^.ContextRecord^.SegSs = _SS then" - _SS is correct stack segment but
excep^.ContextRecord^.SegSs - no, it is a different value, why?
I can attach my files

best,
Andrzej Borucki
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.freepascal.org/pipermail/fpc-pascal/attachments/20121215/16788574/attachment.html>


More information about the fpc-pascal mailing list