<html><head></head><body style="word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space; "><br><div><div>On 02 Oct 2010, at 15:07, Juha Manninen (gmail) wrote:</div><br class="Apple-interchange-newline"><blockquote type="cite"><div>On Saturday 02 October 2010 12:21:20 Jonas Maebe wrote:<br><blockquote type="cite">Compile with -gl, or set a breakpoint on FPC_RANGEERROR<br></blockquote><br>Forgot to tell, I compiled with "-gw -gh".<br>"-gw" should be as good as "-gl".<br></div></blockquote><div><br></div><div>It has nothing to do with being "as good as", they do different things (just like "-gw" and "-gh" do different things).</div><br><blockquote type="cite"><div>Now I tried with -gl but no luck. I get an Assembly window:<br>  <a href="http://koti.phnet.fi/juhamann/Lazarus/AssemblyRangeCheck.jpg">http://koti.phnet.fi/juhamann/Lazarus/AssemblyRangeCheck.jpg</a><br>but no source lines.<br></div></blockquote><div><br></div><div>-gl shows the source code lines next to the hexadecimal addresses when a backtrace is printed to the console. The assembly window in that screenshot is completely unrelated.</div><br><blockquote type="cite"><div>Should I build the compiler with debug info?<br></div></blockquote><div><br></div><div>That is not required.</div><blockquote type="cite"><div><font class="Apple-style-span" color="#000000"><br></font>In any case FPC should give better feedback to the user about range check <br>errors. A RunError and an Assembly window are quite useless.<br></div></blockquote><div><br></div><div>FPC nor the RTL ever show assembly an window. That is something Lazarus-specific. And when Lazarus shows an assembly window, it presumably can also show a callstack window.</div><br><blockquote type="cite"><div>Because of "-gh" I am getting the following output always when closing <br>Lazarus. Only the numbers change with Lazarus versions and compile options.<br><br>Likely it is not a "real" error. Vincent Snijders suspected it is a bug in the <br>way heaptrc does its counting in a 64-bit system. In a 32-bit system it works.<br></div></blockquote><div><br></div><div>As long as it says "0 unfreed memory blocks : 0", there is no problem.</div><div><br></div><div><br></div><div>Jonas</div></div></body></html>