2014-02-14 0:16 GMT+08:00 Martin Frb <laza...@mfriebe.de>:

>
> Is it just the debugger does not stop? But the statement is executed
> (stopping in the next line never happens with FCount >= 2)?
>
> Check your setup
> http://wiki.lazarus.freepascal.org/Debugger_Setup
> - NO smartlinking
> - NO optimization
>   -O1 is often, but not always ok, so if there is an issue, then use -O-
>
> Your image does not show the "blue dots" in the gutter (where the
> breakpoint ,and green arrow are). That indicates there is something wrong
> with the debug info.
>
> Or maybe you have 2 units of the same name ,and use relative path ( ../ )?
> This can cause problems in some cases. Because gdb does not always deal
> with the .. , and then the IDE must specify the unit by name only, which is
> ambiguous.
>

​Debugger problem is minor.  I know I am missing the blue dots here. But
the MAJOR problem is that in the attached screenshot, FCount is 0, which is
of course smaller than 2, but it does NOT Exit!

This caused a SIGSEGV because in the code below I do this:

last := FCount - 1;
FItems[last] ...      //<-- which results in FItems[-1];

And smartlinking never turned on, switching off optimization in lazarus
does not help either.

Regards,
Xiangrong​
_______________________________________________
fpc-pascal maillist  -  fpc-pascal@lists.freepascal.org
http://lists.freepascal.org/cgi-bin/mailman/listinfo/fpc-pascal

Reply via email to