https://issues.dlang.org/show_bug.cgi?id=15631

          Issue ID: 15631
           Summary: gdb: Parent's scope not considered for symbol lookup
           Product: D
           Version: D2
          Hardware: x86_64
                OS: Linux
            Status: NEW
          Severity: minor
          Priority: P1
         Component: dmd
          Assignee: nob...@puremagic.com
          Reporter: pro.mathias.l...@gmail.com
                CC: ibuc...@gdcproject.org

Tested with 'GNU gdb (GDB) 7.10.1' (latest release) + DMD
2.069-but-really-2.070.

Using the following code:
```
class Base { int value; }
class Derivative : Base
{
    int derived_value;
    void foo () { assert(value == 0); assert(derived_value == 0); }
}

void main ()
{
    auto d = new Derivative();
    d.foo;
}
```

and compiling with DMD:
```
Breakpoint 1, gdb_scope.Derivative.foo() (this=0x7ffff7ec3000) at gdb_scope.d:5
5        void foo () { assert(value == 0); assert(derived_value == 0); }
(gdb) p value
No symbol "value" in current context.
(gdb) p *this
$1 = {derived_value = 0}
```

This issue makes it quite complex to trace DMD using gdb, unless DMD is
compiled with GDC.

--

Reply via email to