[Lazarus] Feedback about GDB on Windows

classic Classic list List threaded Threaded
6 messages Options
Reply | Threaded
Open this post in threaded view
|

[Lazarus] Feedback about GDB on Windows

Free Pascal - Lazarus mailing list
To all who
- use Lazarus on Windows (any version of Lazarus 2.0 or 2.1)
- use or have tried GDB 8.2 (for 64bit users also GDB 7.7 or 8.1) from
https://sourceforge.net/projects/lazarus/files/Lazarus%20Windows%2032%20bits/Alternative%20GDB/
https://sourceforge.net/projects/lazarus/files/Lazarus%20Windows%2064%20bits/Alternative%20GDB/

What is your experience with GDB 8.2 (7.7/8.1)?
Compared to the default GDB (32bit: 7.7.1 / 64bit: 7.3.50)
Any improvements you noticed?
Any degradations you noticed?

- Your Lazarus and FPC version/revision.
- Your OS (with version and 32 or 64 bit)
- Your IDE is 32 or 64 bit
- Your FPC is 32 or 64 bit
- Your target app is 32 or 64 bit (and indicate if it was cross
compiled, by an FPC with different bitness)

Thank you

--
_______________________________________________
lazarus mailing list
[hidden email]
https://lists.lazarus-ide.org/listinfo/lazarus
Reply | Threaded
Open this post in threaded view
|

Re: [Lazarus] Feedback about GDB on Windows

Free Pascal - Lazarus mailing list
Forgot to mention:

Which Dwarf version do you use?

32bit users, please ensure you switch to Dwarf.
Testing with Stabs (fpc -g or -gs  / the default for 32 bit) is pointless.

On 13/10/2019 17:59, Martin Frb via lazarus wrote:

>
> - Your Lazarus and FPC version/revision.
> - Your OS (with version and 32 or 64 bit)
> - Your IDE is 32 or 64 bit
> - Your FPC is 32 or 64 bit
> - Your target app is 32 or 64 bit (and indicate if it was cross
> compiled, by an FPC with different bitness)
>
> Thank you
>

--
_______________________________________________
lazarus mailing list
[hidden email]
https://lists.lazarus-ide.org/listinfo/lazarus
Reply | Threaded
Open this post in threaded view
|

Re: [Lazarus] Feedback about GDB on Windows

Free Pascal - Lazarus mailing list
El 13/10/19 a les 18:01, Martin Frb via lazarus ha escrit:

> Testing with Stabs (fpc -g or -gs  / the default for 32 bit) is pointless.
It's the only format that shows the content of a record, e.g.

var f:textfile


stabs (-g) -> f = record TEXt { HANDLE = 450900519, MODE = 55217 , ......
dwarf with sets (-gw -godwarfsets) -> f = record TEXT {}
dwarf2 (-gw2) -> f = record TEXT {}
dwarf3 (-gw3) -> no symbol F in current context

This is with the default gdb, with 8.2 it only changes the output of gw3
(<unknown type in d:\streamio\Project1.dbg,   CU 0x630,   DIE 0x72b>)


Bye
--
Luca Olivetti
Wetron Automation Technology http://www.wetron.es/
Tel. +34 93 5883004 (Ext.3010)  Fax +34 93 5883007
--
_______________________________________________
lazarus mailing list
[hidden email]
https://lists.lazarus-ide.org/listinfo/lazarus
Reply | Threaded
Open this post in threaded view
|

[Lazarus] debug "textfile" [[was: Re: Feedback about GDB on Windows]]

Free Pascal - Lazarus mailing list
On 21/10/2019 12:18, Luca Olivetti via lazarus wrote:

>> Testing with Stabs (fpc -g or -gs  / the default for 32 bit) is
>> pointless.
> It's the only format that shows the content of a record, e.g.
>
> var f:textfile
>
> stabs (-g) -> f = record TEXt { HANDLE = 450900519, MODE = 55217 , ......
> dwarf with sets (-gw -godwarfsets) -> f = record TEXT {}
> dwarf2 (-gw2) -> f = record TEXT {}
>

Interesting.
I have a feeling that is intention (by the compiler). But you may want
to discuss this on the fpc list.
--
_______________________________________________
lazarus mailing list
[hidden email]
https://lists.lazarus-ide.org/listinfo/lazarus
Reply | Threaded
Open this post in threaded view
|

Re: [Lazarus] debug "textfile" [[was: Re: Feedback about GDB on Windows]]

Free Pascal - Lazarus mailing list
El 25/10/19 a les 3:24, Martin Frb via lazarus ha escrit:

> On 21/10/2019 12:18, Luca Olivetti via lazarus wrote:
>>> Testing with Stabs (fpc -g or -gs  / the default for 32 bit) is
>>> pointless.
>> It's the only format that shows the content of a record, e.g.
>>
>> var f:textfile
>>
>> stabs (-g) -> f = record TEXt { HANDLE = 450900519, MODE = 55217 , ......
>> dwarf with sets (-gw -godwarfsets) -> f = record TEXT {}
>> dwarf2 (-gw2) -> f = record TEXT {}
>>
>
> Interesting.
> I have a feeling that is intention (by the compiler). But you may want
> to discuss this on the fpc list.


I just wanted to know why you said using stabs is pointless.
A while ago I tried dwarf but then I switched back to stabs. I don't
think I did it only because of the records but my memory is failing me :-(

Bye
--
Luca Olivetti
Wetron Automation Technology http://www.wetron.es/
Tel. +34 93 5883004 (Ext.3010)  Fax +34 93 5883007
--
_______________________________________________
lazarus mailing list
[hidden email]
https://lists.lazarus-ide.org/listinfo/lazarus
Reply | Threaded
Open this post in threaded view
|

Re: [Lazarus] debug "textfile" [[was: Re: Feedback about GDB on Windows]]

Free Pascal - Lazarus mailing list
On 25/10/2019 08:42, Luca Olivetti via lazarus wrote:
> I just wanted to know why you said using stabs is pointless.
> A while ago I tried dwarf but then I switched back to stabs. I don't
> think I did it only because of the records but my memory is failing me
> :-(

Actually it seems to have (mostly) been based on incorrect memory.
- Just looked through my testcase, and there are actually less special
cases for stabs, than I remembered.  (And most of them are not important)
- There is (while properties do not work): "property Foo read FFoo"
direct field access is encoded as field, but afaik only in dwarf.

What does really not work, according to a quick test (gdb 8.3 / 32 bit
win) are sets. They show an integer value.

Otherwise it seems most things are worked around
https://wiki.lazarus.freepascal.org/GDB_Debugger_Tips#Stabs_.28only_GDB.29

I do however remember the opposite experience that you have. I know that
every now and then I was unable to inspect some data, because I
accidentally had my settings on stabs. But I do not recall what data
that was. Quite possible the need to see the content of a set (in human
readable form).


Note that "dwarf"  here means "dwarf 2 with sets".
Dwarf without sets => no reason to use / dwarf3 with gdb => not stable.
--
_______________________________________________
lazarus mailing list
[hidden email]
https://lists.lazarus-ide.org/listinfo/lazarus