Programming requires essential tools that will aid your knowledge into creating applications that work as supposed to. The most essential tool is definetely the debugger. We take a look at some noticable debuggers and some of their basic features.
AppPuncher – Client/server debugging system for Flex, Flash and Silverlight
The architectural complexity of RIAs calls for special approaches in running tests and achieving quality assurance. For instance, an application may support different workflows based on the role of the user working with the application.
Key Features are:
- Support for AMF, RTMP, HTTP and XML/REST protocols
- Intuitive and intelligent native and browser-based interfaces
- Test Repository facilitates collaboration and test coordination
- Play-and-Record facilitates recreation of events for troubleshooting
- Test Scheduler for automated testing
- Load Testing Engine coordinates thousands of concurrent client
- connections for realistic load testing
- Server Monitor facilitates isolation of performance problems
- Report Manager provides flexible reporting options
DBG is a a full-featured php debugger, an interactive tool that helps you debugging php scripts. It works on a production and/or development WEB server and allows you debug your scripts locally or remotely, from an IDE or console. It is the debugger used in NuSphere’s PhpED (a commercial IDE for PHP).
Features:
- steping
- breakpoints
- conditional breakpoints
- watches
- call-stack
- error tracing
- just-in-time debugging
- profiler
- global breakpoints
- change execution point
DDD – Data Display Debugger
GNU DDD is a graphical front-end for command-line debuggers such as GDB, DBX, WDB, Ladebug, JDB, XDB, the Perl debugger, the bash debugger bashdb, the GNU Make debugger remake, or the Python debugger pydb. Besides “usual” front-end features such as viewing source texts, DDD has become famous through its interactive graphical data display, where data structures are displayed as graphs.
Allinea – Distributed Debugging Tool
DDT, the Distributed Debugging Tool is a comprehensive graphical debugger for scalar, multi-threaded and large-scale parallel applications that are written in C, C++ and Fortran. A programmable STL Wizard enables you to view C++ Standard Template Library variables like the abstract data they represent, viewing lists, maps, sets, multimaps, pairs, deques and strings easily. It is also extensible to let you visualize your own complex classes as you would like.
In version 9.5, Opera introduced Dragonfly, a full-fledged online debugging tool, that allows debugging of the HTML DOM, Javascript, CSS and much more. For example, a user can set breakpoints, alter scripts on-the-fly and execute statements in the current environment from a console. Opera’s implementation of the developer tools allows remote debugging, which is the ability to debug, from a desktop Opera instance, a webpage running anywhere, like a mobile device or another computer. Opera Dragonfly is included in versions 9.5 and up.
Features:
- JavaScript debugger
- DOM inspector
- CSS inspector
- Command Line to allow commands to be inputed
- Error Console that outputs validation errors and warnings exhibited by the CSS and JavaScript connected with the page
- Proxy to allow debugging directly on mobile devices
FusionDebug an interactive step debugger for Adobe ColdFusion and Railo CFML Engine. Step through code line-by-line, step into, step over or out of code to better understand how CFML code is running. FusionDebug can be used as an alternative to using CFOUTPUT/CFDUMP statements.
Features:
- Support for CF frameworks and Adobe Flex Builder 2
- Comes with a full installer which includes a complete IDE containing CFEclipse
- Step through code line-by-line (where needed)
- Drill into variables and scopes
- Run to line functionality
- Associate custom file extensions with FusionDebug
- Set breaks on runtime custom exceptions
- View stack traces
TotalView – Parallel and Thread Debugger
TotalView is a GUI-based source code defect analysis tool that gives you unprecedented control over processes and thread execution and visibility into program state and variables.
It allows you to debug one or many processes and/or threads with complete control over program execution. You can reproduce and troubleshoot difficult problems that can occur in concurrent programs that take advantage of threads, OpenMP, MPI, or computational accelerators.
GDB, the GNU Project debugger, allows you to see what is going on `inside’ another program while it executes — or what another program was doing at the moment it crashed.
GDB can do four main kinds of things (plus other things in support of these) to help you catch bugs in the act:
- Start your program, specifying anything that might affect its behavior.
- Make your program stop on specified conditions.
- Examine what has happened, when your program has stopped.
- Change things in your program, so you can experiment with correcting the effects of one bug and go on to learn about another.
The program being debugged can be written in Ada, C, C++, Objective-C, Pascal (and many other languages). Those programs might be executing on the same machine as GDB (native) or on another machine (remote). GDB can run on most popular UNIX and Microsoft Windows variants.
Insure++ is a memory debugger computer program, used by software developers to detect various errors in programs written in C and C++. It is made by Parasoft, and is functionally similar to other memory debuggers, such as Purify and Valgrind.
Features:
- Corrupted heap and stack memory
- Use of uninitialized variables and objects
- Array and string bounds errors on heap and stack
- Use of dangling, NULL, and uninitialized pointers
- All types of memory allocation and free errors or mismatches
- All types of memory leaks
- Type mismatches in global declarations, pointers, and function calls
- Some varieties of dead code (compile-time)
IDA – Interactive Disassembler
The Interactive Disassembler, more commonly known as simply IDA, is a disassembler widely used for reverse engineering. It supports a variety of executable formats for different processors and operating systems. It also can be used as a debugger for Windows PE, Mac OS X Mach-O, and Linux ELF executables. A decompiler plugin for programs compiled with a C/C++ compiler is available at extra cost. The latest full version of Ida Pro is commercial software; an earlier and less capable version is available for download free of charge.
IDA performs much automatic code analysis, using cross-references between code sections, knowledge of parameters of API calls, and other information. However the nature of disassembly precludes total accuracy, and a great deal of human intervention is necessarily required; IDA has interactive functionality to aid in improving the disassembly. A typical IDA user will begin with an automatically generated disassembly listing and then convert sections from code to data and viceversa, rename, annotate, and otherwise add information to the listing, until it becomes clear what it does.
JSwat is a graphical Java debugger front-end, written to use the Java Platform Debugger Architecture and based on the NetBeans Platform. JSwat is open-source software and is freely available in both binary and source code form. Its features include sophisticated breakpoints; colorized source code display with code navigator; byte code viewer; movable display panels showing threads, call stack, visible variables, and loaded classes; command interface for more advanced features; and Java-like expression evaluation, including method invocation.
Features:
- breakpoints with conditionals and monitors
- colorized source code display
- graphical display panels showing threads, stack frames, visible variables, and loaded classes
- command interface for more advanced features
- Java-like expression evaluation, including method invocation.
Nemiver is a standalone graphical C and C++ debugger that integrates well in the GNOME desktop environment. It currently features a backend which uses the well known GNU Debugger GDB.
OllyDbg is a debugger that emphasizes binary code analysis, which is useful when source code is not available. It traces registers, recognizes procedures, API calls, switches, tables, constants and strings, as well as locates routines from object files and libraries. According to the program’s help file, version 1.10 is the final 1.x release. Version 2.0 is in development and is being written from the ground up. The software is free of cost, but the shareware license requires users to register with the author.[2] The current version of OllyDbg cannot disassemble binaries compiled for 64 bit processors.
Features:
- Allows for user-defined labels, comments and function descriptions
- Understands debugging information in Borland® format
- Saves patches between sessions, writes them back to executable file and updates fixups
- Open architecture – many third-party plugins are available
- No installation – no trash in registry or system directories
- Debugs multithread applications
- Attaches to running programs
- Configurable disassembler, supports both MASM and IDEAL formats
- MMX, 3DNow! and SSE data types and instructions, including Athlon extensions
- Full UNICODE support
- Dynamically recognizes ASCII and UNICODE strings – also in Delphi format!
- Recognizes complex code constructs, like call to jump to procedure
- Decodes calls to more than 1900 standard API and 400 C functions
- Gives context-sensitive help on API functions from external help file
- Sets conditional, logging, memory and hardware breakpoints
- Traces program execution, logs arguments of known functions
- Shows fixups
- Dynamically traces stack frames
- Searches for imprecise commands and masked binary sequences
- Searches whole allocated memory
- Finds references to constant or address range
- Examines and modifies memory, sets breakpoints and pauses program on-the-fly
- Assembles commands into the shortest binary form
- Starts from the floppy disk
SoftICE (Tribute)
SoftICE is a kernel mode debugger for Microsoft Windows. Crucially, it is designed to run underneath Windows such that the operating system is unaware of its presence. Unlike an application debugger, SoftICE is capable of suspending all operations in Windows when instructed. For driver debugging this is critical due to how hardware is accessed and the kernel of the operating system functions. Because of its low-level capabilities.
Valgrind is an award-winning instrumentation framework for building dynamic analysis tools. There are Valgrind tools that can automatically detect many memory management and threading bugs, and profile your programs in detail. You can also use Valgrind to build new tools.
The Valgrind distribution currently includes six production-quality tools: a memory error detector, two thread error detectors, a cache and branch-prediction profiler, a call-graph generating cache profiler, and a heap profiler. It also includes two experimental tools: a heap/stack/global array overrun detector, and a SimPoint basic block vector generator. It runs on the following platforms: X86/Linux, AMD64/Linux, PPC32/Linux, PPC64/Linux, and X86/Darwin (Mac OS X).
Xdebug is a php extension which provides debugging and profiling capabilities. It uses the DBGp debugging protocol.
The debug information that Xdebug can provide includes the following:
- stack and function traces in error messages with:
- full parameter display for user defined functions
- function name, file name and line indications
- support for member functions
- memory allocation
- protection for infinite recursions
Xdebug also provides:
- profiling information for PHP scripts.
- code coverage analysis
- capabilities to debug your scripts interactively with a debugger front-end.
Xdebug is also available via the PECL library
Popularity: 2%
Related posts:
- Integrated Development Environments For Qt And Not Only This is a list of some Qt and not only,...
- Some awesome Integrated Development Environments (IDE) for you Some IDEs for you. No Eclipse plugins here. Only standalone...
- Some Great and Necessary plugins for Notepad++ Notepad++ is a free (as in “free speech” and also...
- Really Handy Visual Studio Open Source Plugins at Sourceforge Microsoft’s Visual Studio is a great framework to develop nearly...
- Damn Small PHP Frameworks. Because size does matter. First of all let me clarify, that if you are...
About the Author:
Filed under: Tools - Trackback Uri







Wheres firebug?! The best debugger as a firefox add-on. I prefer it over everything else currently. Although I don’t do debugging for anything but web development, I doubt it debugs flash etc.. http://getfirebug.com/
You can get extensions for firebug to work with PHP, Queries, Cookies etc.. See their extensions. http://getfirebug.com/extensions/index.html