Any update?

as for the stepping out (4), I *guess* that eithur:
- fpc or the linker were changed and the debug info is incorrectly generated (Though I did not see any commit with a log message, suggesting work on this)
- Something changed in GDB

On 11/05/2013 12:20, Martin wrote:
On 11/05/2013 05:11, silvioprog wrote:
2013/5/8 Martin <[email protected] <mailto:[email protected]>>

    You did not answer this.

    If you hit a breakpoint, do you still get the asm?


Well,
Not to be difficult, but the answer below relates to the question above in which way?


I am glad for you to report any issue you have with debugging. There is still much improvement to be done, and every bit of feedback helps.

But please, lets do them 1 by 1:

1) asm window, when hitting a breakpoint. I believe that is solved?

2) asm when stopping on a signal. Acknowledged, but no immediate solution available.

3) You have not reported yet, but you may still: hitting an exception via assert or raise, shows the code in the caller (one stackframe down). Acknowledged (this is because the rtl is compiled with optimization)

4) your code below (f8 to different unit):
5) your mention below of strings


In Windows, if I put:

procedure TForm1.Button1Click(Sender: TObject);
var
  s: string;
begin
  s := 'abc'; << Break point here (F5) // line 1
  ShowMessage(s); // line 2
end;

and I use Step Over (F8), the cursor go to "line 2", but the same code in Linux, go to GTK units. See:

1 - http://imagebin.org/257292
2 - http://imagebin.org/257294 (after first F8)

I don't know debug code in assembler. I'm pretty sure the problem is in the IDE, because in Linux/GTK it is not able to debug a simple string variable.


"I don't know debug code in assembler."
Neither image shows the assembler. Nor does your description mention it.

Btw the unit it goes to in the pic is not GTK(LCL-widgetset), but LCL.

I asked again (because *not* following the below may be typical reasons for the behaviour):
- Compiled with smart-linking disabled
- Compiled with either -O0 or -O1 (Optimize zero or one)

Also:
- You use the default keymap for debug stuff? http://imagebin.org/257326
- you did not hold shift by accident (shift f8 is step out of the current procedure and would do exactly what you observed)

If none of the above: log file please

-----
5) "because in Linux/GTK it is not able to debug a simple string variable."

In which way?

- Note there are utf8 issues. they display as \x209... and similar. (reported on mantis)

- There is a known issue with accessing chars by index "s[1]"
GDB can not differentiate between pchar and string (1 and 0 based index), and also there is no way for the IDE to get the diff from gdb. Therefore it is experted that the IDE shows "PChar: 'm' String: 'o' " or similar.









--
_______________________________________________
Lazarus mailing list
[email protected]
http://lists.lazarus.freepascal.org/mailman/listinfo/lazarus

--
_______________________________________________
Lazarus mailing list
[email protected]
http://lists.lazarus.freepascal.org/mailman/listinfo/lazarus

Reply via email to