[Lazarus] How to disable the assembler window on Linux?

Martin lazarus at mfriebe.de
Sat May 11 13:20:28 CEST 2013

On 11/05/2013 05:11, silvioprog wrote:
> 2013/5/8 Martin <lazarus at mfriebe.de <mailto:lazarus at mfriebe.de>>
>     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)

- 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.

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.lazarus-ide.org/pipermail/lazarus/attachments/20130511/4575ee73/attachment-0003.html>

More information about the Lazarus mailing list