Free Debuggers and Bug Trackers

Debugging tools, trace, monitoring, trackers, etc


Free Debuggers and Bug Trackers

Get rid of unwanted and unexpected features (a.k.a. "bugs") in your programs. Listed here are debuggers, debugging tools (like strace that traces a system call), API wrappers (that wrap calls to system libraries so that you can check for valid parameters/arguments in system calls), as well as bug trackers (or "issue trackers" if you are particularly sensitive to the word "bug") which allow you to keep track of bug reports from users and the status of the bugs.

If you want resource leak checkers (looks for resource leaks), memory leak detectors and heap checkers (to check the integrity of your heap), or libraries for unit testing, please see Free Debugging Source Code, Libraries and Object Modules page instead.

In addition, the Free Static Code Analyzers (Static Source Code Analysis Tools/Lint) have their own page. There are now too many to be listed as a sub-section of this page.

Related Pages

Free Debuggers, API Wrappers, System Tracers, Bug Trackers

Microsoft PIX (Windows 10) New

Microsoft PIX is a debugging and performance tuning tool for DirectX 12 games on Windows. Features include GPU captures, where you can capture/replay regions of GPU work that involve videos; timing captures and numerous other profiling facilities (including real-time profiling), allowing you to analyze the performance and threading of your game, down to the function level; memory allocation debugging facilities that let you find leaks and unexpected allocation patterns; file IO captures that let you analyze your program's disk input/output patterns; and so on. This is a Windows 10 program.

x64dbg (Windows)

X64dbg is a Windows debugger that can debug DLL and EXE files, and features a C-like expression parser, memory map, symbol view, thread view, source code view, context-sensitive register view, disassembler, decompiler, built-in assembler, executable patching, pattern matching, ability to recognize modules and strings, etc. It's also extensible, and you can add script commands and integrate other tools. The program is released under the GNU General Public License.

rr: Lightweight recording and deterministic debugging (Linux)

This software, called "rr", from Mozilla (the makers of the Firefox browser), lets you record a failure then replay it, allowing you to debug the recording deterministically as many times as you need. You can also reverse execute the program using gdb, this time with breakpoints and watchpoints, running the program backwards to the point when those are hit. It features a chaos mode that is useful when you face intermittent bugs.

Bugzilla Bug Tracking System (Windows, macOS, Linux)

Bugzilla is a defect tracking system that allows programmers to track the status of bugs in their applications. It is probably one of the most well-known open source bug tracking systems around. It is configurable, includes "advanced reporting capabilities", supports inter-bug dependencies, etc. It is written in Perl and licensed under the Mozilla Public License.

Valgrind (Linux, Android, macOS/Darwin)

Valgrind is an x86 debugger and profiler. It includes tools for detecting memory management errors (such as the use of uninitialised memory, use of memory after it has been freed, writing to areas of the stack that you should not write to, memory leaks, passing unitialised or unaddressable memory to system calls, reading or writing beyond the end of malloc'd blocks, misuse of POSIX threads API, mismatched memory allocation calls, overlapping source and destination pointers for memcpy() and related functions, etc), a cache profiler, and a thread debugger which is able to help you detect data races in multithreaded programs.

Microsoft Windows Driver Kit and WinDbg (Windows)

WinDbg, included in the Windows Driver Kit (formerly known as the DDK), is a source level debugger with a graphical interface that allows you to debug both user-mode and kernel-mode code. You can view source code, set breakpoints, view variables including C++ objects, do stack traces, etc. It supports remote debugging, which is required if you are debugging kernel-mode code, but which may also be used to debug user-mode code. The tools available are for Windows 7, 8, 8.1 and 10 (and presumably later versions).

UPS Debugger (Linux)

This is actually a graphical source level debugger for X Window, but it contains a built in C interpreter which can handle single or multiple source files. You can use it to build a byte-code executable and execute the interpreter on that executable. If you need an interpreter to debug or prototype programs, or to just learn the language, check this out. It supports the following platforms: Solaris, SunOS, Linux, FreeBSD, BSD/OS, and possibly other Unices.

Insight (Linux)

Insight is a GDB (the GNU debugger) graphical front end created by Redhat and Cygnus. The GUI allows you an easy-to-use interface to the gdb commands. It doesn't seem to have been updated since 2009.

GNATS (GNU Bug Tracking System) (Linux, BSD)

GNATS is the GNU Bug Tracking System (not the same as GNAT which is the GNU Ada Translator). It is a set of tools to help you track bug reports on your software. It comes in the form of source code, although you can probably get the binaries from most Linux distributions.

Strace (Linux)

strace traces Linux system calls, allowing you an invaluable peek into how your program (or any other program for that matter) interacts with the operating system.

GoBug Debugger (Windows)

GoBug is a symbolic debugger for Win32 assembly language programs that works under Windows 9x, ME, NT4, 2000, XP, Vista and Windows 7. You can set breakpoints, keep a (partial) log of Windows events and messages, single step through the program, view the arguments and local data, check the return values (and errors) from API calls, etc.

DDD (Data Display Debugger) (Windows, Linux)

DDD, the Data Display Debugger, is a GUI debugger that interfaces with command line debuggers like GDB, DBX, JDB, WDB, XDB, the Perl debugger and the Python debugger. It allows you to view the source code as well as display data structures. It supports the debugging of a whole hosts of programming languages including Ada, C, C++, Chill, Fortran, Java, Modula, Pascal, Perl, Python and machine level debugging. The program is free, and comes with GPL source code. Many operating systems are supported, including Linux and Windows. This program does not appear to have been updated since 2006.

Qualitas 386SWAT (Protected Mode Debugger) (Windows 95/98, DOS)

386SWAT is a protected mode debugger developed by Qualitas Inc (makers of the memory manager 386MAX). It not only allows you to debug real, protected mode and virtual 8086 mode programs under DOS and Windows 95/98, it is also a Windows Kernel Debugger in the fashion of WDEB386 but without the need another machine to debug your program (just another monitor).

GRDB Debugger (DOS)

The GRDB ("Get Real Debugger") is a command line real mode debugger that supports the Pentium instruction set, MMX, debugging of floating point instructions, etc. It handles software and hardware breakpoints, session logging, command line history, etc. The full source code is provided. The program requires a 386 or better processor.

TempleMon (Atari ST)

TempleMon is a low-level debugger and disassembler for Atari ST systems that comes with source code. It is in German. (Scroll to the bottom of the linked page to find the listing for TempleMon).

GNU Visual Debugger (part of the GNAT Studio) (Windows, Linux)

This debugger, written in Ada, is "an extensible graphical debugger licensed under the GNU General Public License". The debugger can be launched remotely via a variety of protocols (such as rsh, ssh, etc), supports different languages (C, C++, Ada), able to handle multiple processes, multiple threads, etc. The link above takes you to the source code which can be compiled to run on Linux and Windows (and possibly macOS, though I am not sure).

API Monitor (Windows)

This tool allows you to monitor the API calls made by a Windows application. It is useful in figuring out how other applications work as well as in tracking problems in your own program by examining the API calls it makes. Since it's a user mode application, it can only monitor calls made by usermode programs and not things like drivers.

Debuggy

[Update: this software is no longer available.] Debuggy is a Windows debugger, disassembler, Windows resource extractor, file hex editor, window sniffer and API spy all rolled into one.

Related Pages

Newest Pages

Popular Pages

How to Link to This Page

It will appear on your page as:

Free Debuggers and Bug Trackers

 


 

thesitewizard.com: Free Webmaster Tutorials, Scripts and Articles

HowtoHaven.com: Free How-To Guides

thefreecountry.com: Free Programmers, Webmasters and Security Resources
If you find this site useful, please link to us.