On Thursday, 19 December 2013 at 22:07:52 UTC, Dmitry Olshansky
wrote:
20-Dec-2013 01:35, Xavier Bigand пишет:
Hi,
It's been a few months since I work on "DQuick" at a rate of a
few
minutes or hours from time to time. After working
professionally with
Java during a year I was really surprise to see D capable to
compete a
such language on productivity and providing much more features
than C++.
But because D and his compiler aren't as mature as c++
compilers, it can
be really hard to debug our code, mainly when searching memory
issues,
because generated code by DMD isn't compatible with existing
tools
(Valgrind, DrMemory).
At least valgrind works just fine for me. If compiled with
debug symbols callgrind works quite well, and so do the other
tools e.g. massif.
If I compile with -gc I have very little problem debugging my D
code.
I regularly use valgrind and except for the occasional issue with
valgrind's crappy floating point support it works fine.
For general debugging I find GDB handles D more than well enough.
There are some minor issues, but nothing yet that is a show
stopper. Because GDB on the terminal is ugly I find Nemiver or
QtCreator work fine as front-ends, the latter requiring some
initial config.
Very rarely GDB will get it so wrong that it won't be able to
show the value of a variable automatically. When that happens I
still have the address, type and size of the variable. From that
it is then trivial to set up a watch expression.
Occasionally when stepping source code GDB will appear step
backwards. I get this with C++ as well and it has never been an
issue for me.