Free Debuggers, Static Source Code Analysis Tools, Bug Trackers
Source code checkers, static code analysis utilities (Lint), debugging tools, trace, monitoring
Free Debugging Tools, Static Source Code Analysis Utilities, Bug Trackers
Get rid of unwanted and unexpected features (a.k.a. "bugs") in your programs. Listed here are debuggers, static source code analyzers or static source code checkers (like lint, that scan your source code for suspicious constructs that might be a bug waiting to happen), 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), libraries for unit testing please check the Free Debugging Source Code, Libraries and Object Modules page instead.
Related Pages
- Free Assemblers and Linkers - for those low-level, time critical tasks
- Free Disassemblers, Binary and Hexadecimal Viewers and Editors
- Free Help Authoring Tools
- Free Installers and Setup Utilities
- Free Source Code Version Control Software
- Free DOS Extenders
- Free Programmers' Editors and IDEs
- Free Compiler Construction Tools: Lexers, Parser Generators, Optimizers
- Free Sockets and Winsock Libraries - Internet-enable your applications
Disclaimer
The information provided on this page comes without any warranty whatsoever. Use it at your own risk. Just because a program, book, document or service is listed here or has a good review does not mean that I endorse or approve of the program or of any of its contents. All the other standard disclaimers also apply.
Free Static Source Code Analyzers (Static Source Code Analysis Tools) or Lint Utilities
- Splint / LCLint (Lint - static source code analysis tool)
Splint (formerly LCLint) is a rewrite of the famous Unix lint utility. It is a static source code analyser, that checks your C program source code for bugs and potential problems. This static source code analysis tool requires a certain amount of configuration before you can use it productively. There are versions for a number of operating systems, including Win32, Linux and other Unix systems.
- Ftncheck (Lint utility / Static Source Code Analysis Utility for Fortran)
ftncheck, a static source code analysis utility, checks your Fortran programs for semantic errors, leaks and potential bugs. For example, you can use ftncheck to scan your program for the use of uninitialized variables and undeclared variables.
- Jlint: Java Program Checker (Lint)
Like the lint utility which checks C programs, jlint is a static source code analysis tool that scrutinizes your Java source code for suspicious constructs that might indicate a program bug. Although the program is shareware, it is distributed with source code without any restrictions (and hence is listed here).
Free Debuggers, API Wrappers, System Tracers, Bug Trackers
- Bugzilla Bug Tracking System
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 is licensed under the Mozilla Public License.
- Valgrind
Valgrind is an x86 Linux 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 Debugging Tools for Windows 32-bit Version
WinDbg, included in the package, 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. There are separate versions for the NT family (Windows NT 4, 2000, XP, Windows Server 2003) and the 9x family (only Windows ME is supported). You can debug both x86 and Itanium applications, services, drivers and the Windows kernel. The Debugging Tools for Windows Me is available separately.
- UPS Debugger
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.
- Debuggy
Debuggy is a Windows debugger, disassembler, Windows resource extractor, file hex editor, window sniffer and API spy all rolled into one.
- Insight
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.
- SmartGDB
SmartGDB is a scriptable and thread-aware debugger based on GDB. It combines the commands available on GDB with that available with the Tcl/Tk scripting language, which, according to the website "offers an expanded set of commands for control flow and data modeling that greatly increase the power of the debugger. The debugger also has support for debugging threaded applications with support for MIT Pthreads, FSU Pthreads, Nachos Threads and Linux Threads. At the time of this writing, only a Linux version is available.
- GNU Visual Debugger
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. It is available on "all Unixes" and Windows systems.
- GoBug Debugger
GoBug is a symbolic debugger for Win32 assembly language programs that works under Windows 95, 98 and ME. 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.
- API Monitor
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.
- GNATS (GNU Bug Tracking System)
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. Like all things GNU, it comes with source code.You can get more information from Dan Kegel's unofficial GNATS page.
- Frontdesk (Bug Tracking Application)
Frontdesk is a bug tracking application which captures bug reports made by email into a central repository, which may be accessed via the web. It is distributed under the GNU General Public License.
- Strace (Trace Unix system calls)
strace traces Unix system calls, allowing you an invaluable peek into how your program (or any other program for that matter) interacts with the operating system. A must to have when writing Unix programs. The source code can be compiled on numerous Unix systems, including Linux, SunOS, Solaris and some versions of IRIX.
- DDD (Data Display Debugger)
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 Unix (and clones) and Windows.
- Qualitas 386SWAT (Protected Mode Debugger)
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, 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).
- Debug (MSDOS Debugger)
Debug is a partially-implemented clone of the MSDOS DEBUG command. It comes with complete assembler source.
- GRDB (Real mode debugger)
The GRDB 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
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).
- Pro32 (32 bit protected mode debugger)
Pro32 is a debugger that you can use on 32 bit protected mode programs. You can watch data types, set breakpoints, view exceptions, display the registers, etc.
Related Pages
- Free Java Tools, Decompilers, Disassemblers, Virtual Machines, Debuggers, Resources
- Perl CGI Script Debugging: Solving a 500 Internal Server Error
- How to Protect Your Images from Bandwidth Thieves (Prevent Hotlinking) (PHP Script)
- How to Register Your Own Domain Name - get one for your software
- How to Make a Text Link Submit a Form
- Which Web Host Do You Recommend? (FAQ)
- The Beginner's A-Z Guide to Starting/Creating Your Own Website
Can't Find What You're Looking For?
Newest Pages
- How to Prevent Your Images or Text from Going Out of Alignment When Your Visitors Resize Their Web Browsers in Nvu/KompoZer
- Free Online Photo-Sharing and Photo Album Services or Web Hosts
- How to Add Google Advertisements (AdSense) to Your Website Using Dreamweaver
- What is HTML, CSS, JavaScript, PHP and Perl? Do I Need to Learn Them to Create a Website?
- How Much Does It Cost to Set Up a Website?
- How to Centre a DIV Block Using CSS
- Free PHP Encoders, Accelerators and Obfuscators
- Free Find / Delete Duplicate Files Utilities
- How to Slipstream Windows XP Service Pack 3 to Create an Integrated XP Setup Disk with SP 3
- Dreamweaver Tutorial: How to Create a Website with Dreamweaver CS3
Popular Pages
- How to Create/Start Your Own Website: The Beginner's A-Z Guide
- How to Register Your Own Domain Name - how to get your own domain name
- How to Create a Bootable Windows XP Setup CD/DVD on a Preinstalled Windows System
- Free Partitioning Software - Copy, Create, Move, Resize, Convert, Undelete Partitions
- Free Data Recovery, File and Partition Recovery, Undelete and Unformat Software
- How to Create an Emergency Windows Rescue CD
- Free Spyware / Malware Detection, Removal and Prevention Software
- Free DVD Authoring and Creation Software
- Free CD and DVD Burners and Copying Software
- Free Hard Disk Backup and Restore, Hard Disk Image and Cloning Utilities
How to Link to This Page
It will appear on your page as:
Free Debugging Tools, Static Source Code Analysis Tools, Bug Trackers
