[fpc-pascal] showing source linenumbers on exceptions
Peter Vreman
peter at freepascal.org
Tue Jun 28 08:15:31 CEST 2005
> hi,
>
> how can i show source line numbers, when an exception occurs, like
> sysutils do?
> ...
> An unhandled exception occurred at $0040E9B5 :
> EInOutError : Invalid filename
> $0040E9B5 TDXF__LOAD, line 271 of dxffile.pas
> $0040EFFA TDXF__CREATE, line 329 of dxffile.pas
> $0040F24A TPAPER__CREATE, line 48 of dxfpaper.pas
> $00401459 INIT_OBJECTS, line 63 of e:/_development/work/dxf2mcr.pas
> $00401529 INITPROC, line 87 of e:/_development/work/dxf2mcr.pas
> $00401F1F INIT_FRAMEWORK, line 107 of
> E:/_development/units/uframe_sdlogl.pas
> ...
>
> the only thing i found is the ShowExeption proc. but this does not write
> what i expected.
> ...
> exception at 0040EA45:
> Invalid filename.
> ...
>
> is there a possibility to do this on my own?
> if found the proc:
> ...
> Procedure CatchUnhandledException (Obj : TObject; Addr: Pointer;
> FrameCount: Longint; Frames:
> PPointer);[public,alias:'FPC_BREAK_UNHANDLED_EXCEPTION'];
> ...
> but i don't how to set FrameCount and Frames.
The current code in svn trunk contains an ExceptFrames and
ExceptFramecount function to return this information. See the lazarus code
how to use the functions.
More information about the fpc-pascal
mailing list