D.gnu - Does gdb support D enums?
- drug (3/3) Oct 21 2015 Using gdb `print` instead of enum value I see `incomplete type`. Did I
- Johannes Pfau (8/12) Oct 21 2015 Which gdc branch/version? And please provide a testcase as I can't
- drug (3/15) Oct 21 2015 Oh, sorry, I use dmd-built binaries, so this is the reason, I guess?
- Iain Buclaw via D.gnu (6/9) Oct 21 2015 Depends what you mean by 'enum'. Only integral types are treated as enu...
- drug (3/14) Oct 21 2015 As I said above, I use dmd-build binaries and I should say that gdb
- Iain Buclaw via D.gnu (3/23) Oct 21 2015 I meant enum : MyStruct { ... }
- drug (2/4) Oct 21 2015 I see. Thanks!
Using gdb `print` instead of enum value I see `incomplete type`. Did I miss something? (I use gdb 7.10 from ttp://ftp.gnu.org/gnu/gdb/) Thanks
Oct 21 2015
Am Wed, 21 Oct 2015 11:45:58 +0300 schrieb drug <drug2004 bk.ru>:Using gdb `print` instead of enum value I see `incomplete type`. Did I miss something? (I use gdb 7.10 from ttp://ftp.gnu.org/gnu/gdb/) ThanksWhich gdc branch/version? And please provide a testcase as I can't reproduce this bug with a simple example: Breakpoint 1, D main () at test.d:11 11 TestEnum e; (gdb) print e $1 = a
Oct 21 2015
21.10.2015 18:22, Johannes Pfau пишет:Am Wed, 21 Oct 2015 11:45:58 +0300 schrieb drug <drug2004 bk.ru>:Oh, sorry, I use dmd-built binaries, so this is the reason, I guess? Does gdb work as expected only with gdc-built binaries?Using gdb `print` instead of enum value I see `incomplete type`. Did I miss something? (I use gdb 7.10 from ttp://ftp.gnu.org/gnu/gdb/) ThanksWhich gdc branch/version? And please provide a testcase as I can'treproduce this bug with a simple example: Breakpoint 1, D main () at test.d:11 11 TestEnum e; (gdb) print e $1 = a
Oct 21 2015
On 21 October 2015 at 10:45, drug via D.gnu <d.gnu puremagic.com> wrote:Using gdb `print` instead of enum value I see `incomplete type`. Did I miss something? (I use gdb 7.10 from ttp://ftp.gnu.org/gnu/gdb/) ThanksDepends what you mean by 'enum'. Only integral types are treated as enum in the C sense. All other value types (bool, float) are treated as constant literals that you can only access through it's qualified name. Don't expect aggregate types (struct, array, associative array) to show properly either.
Oct 21 2015
21.10.2015 19:31, Iain Buclaw via D.gnu пишет:On 21 October 2015 at 10:45, drug via D.gnu <d.gnu puremagic.com <mailto:d.gnu puremagic.com>> wrote: Using gdb `print` instead of enum value I see `incomplete type`. Did I miss something? (I use gdb 7.10 from ttp://ftp.gnu.org/gnu/gdb/ <http://ftp.gnu.org/gnu/gdb/>) Thanks Depends what you mean by 'enum'. Only integral types are treated as enum in the C sense. All other value types (bool, float) are treated as constant literals that you can only access through it's qualified name. Don't expect aggregate types (struct, array, associative array) to show properly either.As I said above, I use dmd-build binaries and I should say that gdb works very well with structs for me. The only exception so far is enum.
Oct 21 2015
On 21 October 2015 at 19:52, drug via D.gnu <d.gnu puremagic.com> wrote:21.10.2015 19:31, Iain Buclaw via D.gnu =D0=BF=D0=B8=D1=88=D0=B5=D1=82:I meant enum : MyStruct { ... } I guess DMD does not support emitting enums to debug then.On 21 October 2015 at 10:45, drug via D.gnu <d.gnu puremagic.com <mailto:d.gnu puremagic.com>> wrote: Using gdb `print` instead of enum value I see `incomplete type`. Did I miss something? (I use gdb 7.10 from ttp://ftp.gnu.org/gnu/gdb/ <http://ftp.gnu.org/gnu/gdb/>) Thanks Depends what you mean by 'enum'. Only integral types are treated as enum in the C sense. All other value types (bool, float) are treated as constant literals that you can only access through it's qualified name. Don't expect aggregate types (struct, array, associative array) to show properly either.As I said above, I use dmd-build binaries and I should say that gdb works very well with structs for me. The only exception so far is enum.
Oct 21 2015
21.10.2015 21:04, Iain Buclaw via D.gnu пишет:I meant enum : MyStruct { ... } I guess DMD does not support emitting enums to debug then.I see. Thanks!
Oct 21 2015