On Sunday, 26 August 2018 at 23:39:32 UTC, Manu wrote:
You should try using VisualD to debug DMD some time. You'll
quickly
discover edge cases trying to evaluate all the relevant state
while
stepping around. C++ RTTI is a problem (can't identify derived
type in
debugger), globals are a problem, TLS is a problem.
The minor edge cases emerge frequently enough that they convey
a sense
of immaturity. I'll start taking note everything I encounter a
minor
debugging issue.
It's not just VisualD, the debug info DMD produces just doesn't
include things like global variables for some reason. I use VS
Code to debug, I get around it by using -gc (which is now
deprecated) and adding the variable to the watch list with the
full name. It's a pain in the ass though.