NoBug is a library which provides assertions, logging statements, and annotations for C and C++ programs. It includes pre-/post-condition and invariant checks, as well as generic assertions. Checks are enabled based on build-levels and scope tags. It also includes debugger support (valgrind), dumping of data structures, logging your application's activities, runtime customizable logging via environment variables, different logging targets (ringbuffer, stderr, syslog, debugger, etc.), and annotation of your source code regarding known bugs, things to do, and planned things. It can track resources and detect deadlocks.
Bokken is a GUI for the Pyew and Radare2 projects. It provides an interface to almost all the features of Pyew, and many in radare2. It's intended to be a multi-architecture disassembler and binary analysis tool, and maybe some day an alternative for commercial alternatives as IDA Pro. Currently, Bokken is neither a hexadecimal editor nor a full featured disassembler, so it should not be used for deep code analysis or for modifying files.
Dynamic Probes (Dprobes) is a generic and pervasive system debugging facility that will operate under the most extreme software conditions such as debugging a deep-rooted operating system problem in a live environment. Dprobes allows the insertion of fully automated breakpoints or probepoints anywhere in the system and user space. Each probepoint has an associated set of probe instructions that are interpreted when the probe fires. These instructions allow memory and CPU registers to be examined and altered using conditional logic. When the probe command terminates, prior to returning to the probed code, a syslog record may be optionally generated.
Pin is an ATOM-like instrumentation tool for Linux executables. It allows arbitrary code (written in C or C++) to be injected at arbitrary places in an executable. Unlike Atom, Pin does not perform the instrumentation statically by rewriting the executable, but rather dynamically by adding instrumentation while the executable is running. Currently supported platforms include IA-32, Intel Xscale, and Itanium processors.
Alleyoop is a GNOME frontend to the Valgrind memory checker. Its features include a right-click context menu to intelligently suppress errors or launch an editor on the source file, jumping to the exact line of the error condition. A searchbar at the top of the viewer can be used to limit the viewable errors to those that match the regex criteria entered. A fully functional Suppressions editor is also included.
Code Medic provides access to the power of gdb with an intuitive front end. It currently supports opening multiple source windows at once, setting/clearing breakpoints while the program is running, watching variables change in the variable tree as you step through code (even with nested structs), text searching through source, and integration with Code Crusader to provide a rapid, efficient develop-debug cycle.
memfetch dumps the memory of a program without disrupting its operation, either immediately or on the nearest fault condition (such as SIGSEGV). It can be used to examine suspicious or misbehaving processes on your system, verify that processes are what they claim to be, and examine faulty applications using your favorite data viewer so that you are not tied to the inferior data inspection capabilities in your debugger.
CUT is a unit-testing framework for C, C++, and Objective-C. Unlike other unit testing tools, CUT doesn't strive to be an SUnit clone. It automates a lot of the drudge work often encountered when using other unit testing packages for the C family of programming languages. CUT may also be used to unit-test assembly language software in some circumstances.
Setedit is a text editor specially designed for programmers. It has a nice interface with mouse support, menus and windows (text mode). The editor is a very good choice for people with DOS background, especially people accustomed to Worstar and Borland editors. The editor has overlapped windows so you can see more than one file at the same time, configurable syntax highlighting, macros, rectangular selection, block indentation, as well as customizable keyboard shortcuts and menus.