[ddbg] lsv shows duplicated variables
Jascha Wetzel
"[firstname]" at mainia.de
Sun Apr 29 09:40:44 PDT 2007
DMD doesn't emit symbols for scopes below procedure level (bugzilla
#1201). therefore Ddbg can't tell which one is the right variable.
when evaluating an expression with an ambiguous identifier, Ddbg simply
chooses the first instance it comes across.
the last time i checked, MSVC had the same problem. although CodeView
provides a solution.
Ary Manzana wrote:
> Hi!
>
> I don't know if this is the intended behaviour, but for the following code:
>
> ---------------------------------------------------------------------
> module main;
>
> void main() {
> for(int i = 0; i < 10; i++) { // Line 4
> }
> for(int i = 0; i < 10; i++) {
> }
> for(int i = 0; i < 10; i++) { // Line 8
> }
> }
> ---------------------------------------------------------------------
>
> #####################################################################
> Loading symbols from main
> ->bp main:4
> Breakpoint set: main.d:4 0x402014
> ->
> Breakpoint set: main.d:4 0x402014
> ->r
> ntdll.dll loaded
> KERNEL32.dll loaded
> USER32.dll loaded
> GDI32.dll loaded
> Breakpoint 0 hit at main.d:4 0x402014
> for(int i = 0; i < 10; i++) {
> ->lsv
> Scope: _Dmain
> i = 4211075
> i = 18
> i = 4272652
> ->
> #####################################################################
>
> That is, the "i" variable is shown three times, even though the next two
> aren't visible yet. If you set a breakpoint in a next line, for example
> line 8, the "i" variable is also shown three times. I think one "i"
> should be shown always.
>
> The problem is that I'm integrating ddbg in Descent, and in the
> varaibles view I use the "lsv" command, so the "i" variable appears
> three times. A hack would be, if a variable appears many times, send "=
> i" to the debugger and keep the one with that value, but... if it can be
> fixed in ddbg, much better.
More information about the Digitalmars-d-debugger
mailing list