Re: Visual D does not always break in function that threw.

2017-09-28 Thread Rainer Schuetze via Digitalmars-d-debugger



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?


Re: Visual D does not always break in function that threw.

2017-09-27 Thread Psychological Cleanup via Digitalmars-d-debugger
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.


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.




Visual D does not always break in function that threw.

2017-09-26 Thread Psychological Cleanup via Digitalmars-d-debugger
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.