Bug 11516 – Wrong symbol in debug watch due to name collision
Status
RESOLVED
Resolution
DUPLICATE
Severity
major
Priority
P2
Component
visuald
Product
D
Version
D2
Platform
All
OS
Windows
Creation time
2013-11-14T10:26:00Z
Last change time
2015-06-09T05:15:10Z
Assigned to
nobody
Creator
ehysta
Comments
Comment #0 by ehysta — 2013-11-14T10:26:16Z
Example:
if(0) {
byte key = 12;
key -= 2;
log.trace(key);
}
else {
byte key = 0;
key++;
log.trace(key);
}
In watch we can see only an uninitialized first variable (e.g -1) even code path evaluated to lines below.
Mago debugger, latest VisualD version.
(cv2pdb isn't work)
Comment #1 by r.sagitario — 2013-11-16T00:59:47Z
The problem here is that dmd does not emit information about the life time of a variable, they are all considered valid for the whole function (see also issue 3657).
The locals window shows both variables.
> (cv2pdb isn't work)
Is this because you are using VS2013 (not yet supported)? Or is this a separate issue?
Comment #2 by ehysta — 2013-11-18T00:25:01Z
*** This issue has been marked as a duplicate of issue 3657 ***