Assembly Language Debugger
Assembly Language Debugger is a tool for debugging executable programs at the assembly level. It currently runs only on Intel x86 platforms. Operating systems supported: Linux, FreeBSD, NetBSD, and OpenBSD.
ASTUce is a regression testing framework for ECMAScript inspired by the xUnit architecture. It is intended for developers who wish to implement unit tests.
AVaRICE is a program which interfaces the GNU Debugger GDB with the AVR JTAG ICE available from Atmel.
Boehm-Weiser Conservative Garbage Collector
Boehm-Weiser Conservative Garbage Collector is a garbage collecting storage allocator that is intended to be used as a plug-in replacement for C's malloc.
call2sym is a kernel debugging aid. It performs the useful task of converting a Linux kernel system call stack trace into symbolic names. This allows you to quickly determine exactly which functions were executing when the kernel panick'd.
CaptureMock provides capture-replay mocking for Python, on the command line and with client-server communication.
cartman allows you to create and manage your Trac tickets from the command-line, without the need to setup physical access to the Trac installation/database
Catsrunner is a C testing suite based on CATS. CATS (C Automated Test System) is a testing framework for C, especially designed to work well in embedded and multiplatform enviroments. Catsrunner provides the wrapper that calls the test and reports the results.
coretrace is a lightweight tool for debugging embedded Linux applications. It works by analysing core files from crashed applications and outputs a short plain-text backtrace, suitable for putting into logfiles.
Cutter is a unit testing framework for C and C++. It provides an easy test writing API and easy debugging output to continue testing.
Dave's Unit Test
Dave's Unit Test (DUT) is a simple infrastructure for doing unit testing in C and C++. It can test boolean assertions, and test for the existence of expected C++ exceptions or POSIX signals. It also traps unexpected exceptions or signals.
Dave's Unit Test
Dave's Unit Test (DUT) is a simple infrastructure for doing unit testing in C and C++. DUT can test boolean assertions, test paths through complex branches, and test for the existence of expected POSIX signals. DUT also traps unexpected signals.
DebugTrace is a tool for printing execution traces that are helpful for debugging. It shows every instruction as it is executed, the values of registers that are written, and the memory that is read and written.
DieHard automatically hardens software applications against a wide range of bugs. These bugs (known as memory errors) often end up as serious security vulnerabilities, cause crashes, or lead to unpredictable behavior.
Extended Python Debugger
Extended Python Debugger is a (slightly) more complete debugger for Python than the stock pdb.py debugger. It supports a "restart" command and stack traces that show fewer ?'s and give better information for exec statements.
Flawless is a simple Python framework developed at shopkick for detecting bugs in a production environment. Flawless traps exceptions and then uses git blame to send an email to the developer who wrote the buggy code.
ftracer is a simple user space implementation of a linux kernel style function tracer. It allows to trace every call in a instrumented user applications. It is useful for debugging and performance analysis due to its fine grained time stamp.
IPv6 CARE, the "IPv6 Compliance Automatic Runtime Experiment", is a tool for diagnosing the IPv6 compliance of programs while they are running.
Jockey is a user-space library for recording and replaying an execution of generic GNU/Linux programs. It is a debugging tool especially for long-running networked servers that suffer from bugs that are difficult to reproduce.
Kaputt is a testing tool for the Objective Caml language. It features both assertion-based tests (like in the xUnit framworks) and specification-based tests (like in the QuickCheck tool).
latrace is a glibc 2.4+ LD_AUDIT frontend. It allows you to trace library calls and get their statistics in a manner similar to the strace utility.
ldcheck is a simple tool to look for bad/missing dependencies and to recommend which package(s) should be considered for recompilation/reinstallation.
LectroTest is an automatic, specification-based testing tool for Perl.
Libcvautomation is a GUI automation and testing tool based on image recognition and response.
Linice is an Intel x86-based, Linux source-level kernel debugger with the look and feel of SoftIce for MS Windows. Linice is designed to be used by people who have SoftIce experience. Linice provides a major subset of SoftIce commands, and adds a few new ones.
minibug is a simple two-window debugger for assembler programs. It runs in the console or X terminal. It reads ELF executables and extracts any symbols or comment information. Registers, breakpoints, memory, and disassembly are displayed.
nwsystest is a simple tool to help test full software systems - potentially consisting of multiple concurrent applications and threads - in an automated manner.
phook is a userspace tool that injects code into any application at run-time using ptrace(). It has a modular design to allow one use different plugins to make the target application do whatever is wanted.
PScan is a limited problem scanner for C source files.
PyChecker is a static analysis tool for finding bugs in Python source code. It finds problems that are typically caught by a compiler for less dynamic languages, like C and C++. It is similar to lint.
PyCrash is a Run-Time Exception Dumper which handles uncaught exceptions during the execution of Python programs and collects information about the program context. PyCrash can be very useful in report bug information, because the programmer can easily analyse the program execution context of the crashed application.
Pydb is a modified version of the standard Python debugger, pdb, with a number of augmented features that make it suitable for use with DDD, the Data Display Debugger.
Pyflakes is a simple program which checks Python source files for errors. It is similar to PyChecker in scope, but differs in that it does not execute the modules to check them. This is both safer and faster, although it does not perform as many checks. Unlike PyLint, Pyflakes checks only for logical errors in programs; it does not perform any checks on style.
PyreRing is a test runner that executes scripts intended to act as individual test cases. By removing the administrative burden that often surrounds testing, the test author can focus on writing meaningful, direct, and useful test cases. As long as you wrap your test cases with a Unix shell or scripted language wrapper, it will be executed. It allows you to set a timeout value, send reports to email addresses, automatically organize your test cases with filesystem directories or suite files that you define, create automatic suites based on a predefined block in your test scripts, and capture standard out and standard error into a comprehensive log.
This is a small package that facilitates the unit testing process by aggregating PyUnit tests and making them easier to call from the command line and from within other unit tests.
python-ptrace is a debugger using ptrace written in Python. It's able to control multiple processes, read/write bytes, perform breakpoint and step by step execution, use a disassembler, syscall tracer, and parser, explain why a signal is raised, dump registers, stack, and memory mappings, etc.
RCUNIT stands for Robust C Unit. It is a small framework for testing C programs. Similar to other unit testing frameworks, RCUNIT is a framework used for creating repeatable tests. RCUNIT provides uniform interfaces for managing tests. It provides optional setup and tear down functions both for tests and test suites, multiple test registries and test suites, test run and assertion failure callbacks, and an output redirection mechanism for log and test run reports. Requiring only an ANSI compliant C compiler, RCUNIT is a highly portable unit testing tool.
A GObject reference count debugger. GObject is part of the glib library (not to be confused with glibc) which forms the basis of GTK+ (the Gimp ToolKit), Gnome, GStreamer and many other projects. The GObject library adds object oriented stuff to C which by itself lacks object oriented features. Refdbg aims to ease the task of finding GObject reference count bugs which can lead to memory leaks or program crashes.
scanmem is a simple interactive debugging utility used to locate the address of a variable in an executing process. This can be used for the analysis or modification of a hostile process, or as a "pokefinder", used to cheat at video games.
shUnit2 is a unit testing framework for shell scripts (eg. sh, bash) that is modeled after the JUnit framework. It is designed to make unit testing in shell as simple as possible.
Smatch is a way of finding errors in source code, especially the Linux kernel source and potentially it may be useful for other people too someday.
Smieciuch++ is a portable precise collector for C++ and nearly precise tracing garbage collection for C. It should not mess other data with collected pointers (except few corner cases in C).
sreplay is a tool that performs system call replay of strace logs on UNIX-like operating systems. It is written in assembly and C, and is free software licensed under the LGPL. It supports simple dynamically-linked application replay under i386 and ppc64 Linux at present.
stackviz is a companion for the gdb debugger which shows you what the program's stack looks like at any given moment.
TAP4Pascal is an easy-to-use but powerful unit testing suite for Pascal (FreePascal, Turbo Pascal, et al.), conforming to the Test-Anything Protocol (TAP) specification
TCLP is a type checker for Prolog dialects. It is written in SICStus Prolog. Its goal is to statically trap programming errors like illegal arguments used in a call for a predicate or illegally built data structures with respect to a given typing for function symbols or predicates. TCLP is also capable of type inference for user predicates. Supported dialects include ISO-Prolog, GNU-Prolog, and SICStus Prolog.
(commercial) UndoDB improves Linux and Android developer productivity, time to market, and brand reputation while increasing the ingenuity of developers during debug. Customers across multiple vertical market segments use UndoDB to reduce software development debug from weeks to minutes.
Vampire Testing Tool
Vampire Testing Tool is a remote package testing tool written in python. It takes a tarball, uploads it on several machines, configures it, runs a check sequence (usually make distcheck) and returns the results. It is designed to be flexible.
Winpdb is an advanced python debugger, with support for smart breakpoints, multiple threads, namespace modification, embedded debugging, encrypted communication and speed of up to 20 times that of pdb.
wsdebug is a debugger for the more or less famous whitespace programming language, coming along with a rather fast interpreter.
xsldbg is a text based tool to debug stylesheets and it is similar to the Unix/Linux debugger gdb. It uses using the libxslt library.