www.digitalmars.com         C & C++   DMDScript  

digitalmars.D.ide - Visual Studio/D not debugging

reply Igor <Vladamir.I google.com> writes:
1. Mago not working. Can't launch debugger... maybe not installed.

2. Visual Studio's built in debugger doesn't allow watches. The 
symbols show up undefined. Locals show just fine.
Jan 25
next sibling parent reply Igor <Vladamir.I google.com> writes:
On Tuesday, 26 January 2016 at 03:08:40 UTC, Igor wrote:

For fields, when I add a watch to and obviously in scope 
variable, I get

An unspecified error has occurred.

For static memebers, I get

App	identifier "App" is undefined	

If I qualify that with the class, like it's suppose to be, I 
still get the same thing:

identifier "Mod.App" is undefined

I can't even watch module level static variables ;/

This must be an issue with VS 2015.
Jan 25
parent Rainer Schuetze <r.sagitario gmx.de> writes:
On 26.01.2016 04:15, Igor wrote:
 On Tuesday, 26 January 2016 at 03:08:40 UTC, Igor wrote:

 For fields, when I add a watch to and obviously in scope variable, I get

 An unspecified error has occurred.

 For static memebers, I get

 App    identifier "App" is undefined

 If I qualify that with the class, like it's suppose to be, I still get
 the same thing:

 identifier "Mod.App" is undefined

 I can't even watch module level static variables ;/

 This must be an issue with VS 2015.
You should use fully qualified names for global and static variables, because there is no debug information about current symbol lookup, e.g. imports. Mago makes a guess from the mangling of the current function, though. The Visual Studio debugger is confused by '.' in names, so it is replaced with ' ' in the debug information (depending on the respective setting on the debug project options), so you could try Mod App. A workaround is to use the mangled name, that can be copied from the disassembly of an access to that variable. I doubt that this works for thread local variables, though.
Jan 28
prev sibling parent reply Rainer Schuetze <r.sagitario gmx.de> writes:
On 26.01.2016 04:08, Igor wrote:
 1. Mago not working. Can't launch debugger... maybe not installed.
If you are working on XP, you need to replace a DLL (https://gist.github.com/rainers/6cdf73b48837defb9f88/raw/7c2dcf8f07c50825887df896fe4d94d2f8cf 89c/MagoNatDE.dll), see also https://github.com/rainers/mago/pull/4
 2. Visual Studio's built in debugger doesn't allow watches. The symbols
 show up undefined. Locals show just fine.
Visual Studio 2012 introduced a new debug engine that loses some of the capabilities of the preceding debug engine. This includes displaying variables in the Watch Window. You can switch back to the old debug engine by going to Tools->Options and then under the debugger settings, turn on native edit and continue. This will also reenable the visualizer macros in autoexp.dat.
Jan 27
parent Igor <Vladamir.I google.com> writes:
On Thursday, 28 January 2016 at 07:57:10 UTC, Rainer Schuetze 
wrote:
 On 26.01.2016 04:08, Igor wrote:
 1. Mago not working. Can't launch debugger... maybe not 
 installed.
If you are working on XP, you need to replace a DLL (https://gist.github.com/rainers/6cdf73b48837defb9f88/raw/7c2dcf8f07c50825887df896fe4d94d2f8cf 89c/MagoNatDE.dll), see also https://github.com/rainers/mago/pull/4
 2. Visual Studio's built in debugger doesn't allow watches. 
 The symbols
 show up undefined. Locals show just fine.
Visual Studio 2012 introduced a new debug engine that loses some of the capabilities of the preceding debug engine. This includes displaying variables in the Watch Window. You can switch back to the old debug engine by going to Tools->Options and then under the debugger settings, turn on native edit and continue. This will also reenable the visualizer macros in autoexp.dat.
It was enabled from the get go. When I disabled it I was able to add watches. Haven't tested it much though. Fields give the error "CXX0033: Error: error in OMF type information" and qualification doesn't help(tried and .).
Jan 29