Hacker News new | ask | show | jobs
by forgotmypassw 3739 days ago
GDB and some fprintf calls cut it most of the time. The worst kind of bug is when the program segfaults into oblivion and works fine under GDB but in 99% of the cases that's related to uninitialized memory, which might be a bit hard to find but is quite simple to fix (it's the worst because it sometimes takes a while to figure out where you forgot to initialize variables when it's unrelated to a new change and happened to just not occur during previous changes).
1 comments

With memory you can usually get a good idea of the problem with valgrind.

It's actually my first line of defense, and then after that printf statements and then gdb + frama-c.

One really nice tool is

  frama-c -cg <files>
which generates a call graph written in dot.