]> git.llucax.com Git - personal/website.git/blob - source/blog/posts/2009/05/debug-is-hell.rst
Move from llucax.com.ar to llucax.com
[personal/website.git] / source / blog / posts / 2009 / 05 / debug-is-hell.rst
1 Title: Debug is hell
2 Tags: en, d, dgc, debug, ldc, gold, dmd, tango, rant, parental advisory
3
4 .. warning:: Rant ahead.
5
6 If `Matt Groeing`__ would ever written a garbage collector I'm sure he would
7 made a book in the `Life in Hell`__ series called **Debug is Hell**.
8
9 __ http://en.wikipedia.org/wiki/Matt_Groening
10 __ http://en.wikipedia.org/wiki/Life_in_Hell
11
12 You can't rely on anything: `unit tests`__ are useless, they
13 depend on your code to run and you can't get a decent backtrace ever using
14 a debugger (the runtime calls seems to hidden to the debugger). I don't know if
15 the last one is a compiler issue (I'm using DMD_ right now because my LDC_
16 copy broken =( ).
17
18 __ http://www.digitalmars.com/d/1.0/class.html#UnitTest
19
20 Add that to the fact that `GNU Gold doesn't work`__, `DMD doesn't work`__,
21 Tango doesn't work [*]_ and `LDC doesn't work`__, and that it's already hard to
22 debug in D__ because most of the mainstream tools (gdb__, binutils__,
23 valgrind__) don't support the language (can't demangle D symbols for instance)
24 and you end up with a very hostile environment to work with.
25
26 __ http://sourceware.org/bugzilla/show_bug.cgi?id=10126
27 __ http://d.puremagic.com/issues/show_bug.cgi?id=2932
28 __ http://www.dsource.org/projects/ldc/ticket/282
29 __ http://www.digitalmars.com/d/1.0/
30 __ http://www.gnu.org/software/gdb/
31 __ http://www.gnu.org/software/binutils/
32 __ http://valgrind.org/
33
34 Anyway, it was a very unproductive weekend, my statistics gathering code seems
35 to have some nasty bug and I'm not being able to find it.
36
37 PS: I want to apologize in advance to the developers of `GNU Gold`__, `DMD`_,
38 `Tango`__ and `LDC`_ because they make great software, much less crappier than
39 mine (well, to be honest I'm not so sure about DMD_ ;-P), it's just a bad
40 weekend. Thank you for your hard work, guys =)
41
42 __ http://en.wikipedia.org/wiki/Gold_(linker)
43 __ http://www.dsource.org/projects/tango
44
45 .. _DMD: http://www.digitalmars.com/d/1.0/dmd-linux.html
46 .. _LDC: http://www.dsource.org/projects/ldc
47
48 .. [*] Tango trunk is supposed to be broken for Linux
49
50 .. vim: set et sw=4 sts=4 :