On 04 Dec 2009, at 12:57, Paul Ishenin wrote: > Paul Ishenin wrote: >> Marc has exmplained me why I have the strange stepping. It is due to >> internal try finally which is generated for variants. >> >> I think the solution is to set the same line number for that try-finally >> nodes as for the variant itself. >> >> Or as Marc suggested - skip generation of line info for the internal try >> blocks. > I made more tests and Variants are not related to the problem. > > Then next simple application also has problems with stepping: > program project1; > > {$mode objfpc}{$H+} > > uses > SysUtils, Classes; > var > List: TList; > begin > // you need to step into 2 times to be in the TList constructor. In the > constructor you will visit first and last lines 2 times > List := TList.Create; > List.Free; > end.
A constructor also has an implicit try/finally, so the fact that you visit the first and last lines twice is probably the same thing as with the variant. I cannot reproduce the need to "step into" twice on either Mac OS X/i386 or Linux/i386. Jonas_______________________________________________ fpc-devel maillist - fpc-devel@lists.freepascal.org http://lists.freepascal.org/mailman/listinfo/fpc-devel