On 27.09.2017 09:19, Psychological Cleanup wrote:
On Wednesday, 27 September 2017 at 04:40:59 UTC, Psychological Cleanup
wrote:
It usually breaks at the calling site. The error message gives the
correct module and line number but this is not the line number show in
visual studio. The function does not show up in the call stack either
making it difficult to debug. I'm referring to templated functions as
it might not do it with normal functions.
This is usually caused by the druntime functions implementing the throw
not being compiled with debug info and standard stack frames. That way
the debugger doesn't know how to walk the stack.
You can work around this by compiling a "private" version of the D
runtime by enabling "build and use local version of phobos with same
compiler options" on the linker configuration page.
Sometimes it also helpful to load symbols of the Windows DLLs shown in
the call stack (e.g. kernel32.dll or ntdll.dll) from the Microsoft
symbol server.
Also, when in a C callback(using a D function), it seems that it
confuses the debugger and no stack entry is shown nor are the autos or
watches. The debugger just kinda goes blank now showing anything helpful
like it should.
Not sure about this one. Can you show an example?