Linux debugging tools I love
Another great suite of debugging tools not mentioned is Valgrind ( http://valgrind.org/ ).  The default application (Memcheck) can help find memory leaks and off-by-one errors.  Cachegrind/callgrind are great supplements to Perf, and Massif can help get a better perspective on memory usage in your programs.I feel reckless writing C/C++ code if I can't test it with Memcheck.