On 21/11/2014 22:46, Mattias Gaertner wrote:
But I see it for example with any constructor. Even as simple as this:
type
TMyClass = class
public
i: Integer;
constructor Create;
end;
constructor TMyClass.Create;
begin
i:=3;
end;
procedure TForm1.FormCreate(Sender: TObject);
var
c: TMyClass;
begin
c:=TMyClass.Create; // <- breakpoint
end'
Run,
Step into, cursor moves to 'begin' of the constructor.
Step into, cursor moves to 'end' of the constructor.
Step into, cursor moves to 'i:=3'.
With this code, I get the same.
It would take a longer time to analyse the line info in the asm as fpc
generates it (as that is already cryptic enough), but I would think this
is as fpc generates it.
In the asm output ( -al )
.section .debug_line
# === header start ===
...
# [41:1]
.byte 2
.uleb128 .Ll3-.Ll2
.byte 14
.Ll2 is a label at the start of the constructor.
Also in the asm the comment introducing line 41
# [41] end;
comes before
# [40] i:=3;
So as far as the debugger goes, this would then be correctly following
the debug info.
--
_______________________________________________
Lazarus mailing list
[email protected]
http://lists.lazarus.freepascal.org/mailman/listinfo/lazarus