On Saturday 02 October 2010 12:21:20 Jonas Maebe wrote: > Compile with -gl, or set a breakpoint on FPC_RANGEERROR
Forgot to tell, I compiled with "-gw -gh". "-gw" should be as good as "-gl". Now I tried with -gl but no luck. I get an Assembly window: http://koti.phnet.fi/juhamann/Lazarus/AssemblyRangeCheck.jpg but no source lines. For FPC_RANGEERROR, I found this in FTL system.inc: procedure fpc_rangeerror;[public,alias:'FPC_RANGEERROR']; compilerproc; begin HandleErrorFrame(201,get_frame); end; I didn't even know there is such syntax in this language. Should I build the compiler with debug info? I think I will leave it for now and debug Lazarus without -Cr. The program (Lazarus) works when built without range checks. Maybe the errors are not "real" errors and could be solved by strict types. Or, maybe the memory corruption happens so seldom that nobody notices. When testing the Delphi converter I get many such errors, maybe because the input data is unpredictable. In any case FPC should give better feedback to the user about range check errors. A RunError and an Assembly window are quite useless. Regards, Juha P.S. Because of "-gh" I am getting the following output always when closing Lazarus. Only the numbers change with Lazarus versions and compile options. Likely it is not a "real" error. Vincent Snijders suspected it is a bug in the way heaptrc does its counting in a 64-bit system. In a 32-bit system it works. Heap dump by heaptrc unit 4323916 memory blocks allocated : 939864995/951779128 4323916 memory blocks freed : 939864995/951779128 0 unfreed memory blocks : 0 True heap size : 1048576 True free heap : 1924768 Should be : 1048576 _______________________________________________ fpc-pascal maillist - fpc-pascal@lists.freepascal.org http://lists.freepascal.org/mailman/listinfo/fpc-pascal