Strace is a software developed for Linux Operating System that identifies and debugs malware. It can also monitor and change interactions between processes and Linux Kernel such as signal deliveries, system calls, and state process changes. If a program crashes repeatedly or performs poorly, this software can correct it by printing all the system calls made by the program. Another feature is this software’s ability to enumerate syscall names, paths, and file descriptions that it wants to trace. Codes of specified syscalls can be edited and signals can be injected into them.
Some other features include easy to use interface, information extraction about file descriptions, tracking execution time and count, filtration, relative and absolute timestamps printing, and printing of stack traces and system demangling.
OllyDbg is a debugger software that analyzes binary codes and identifies and removes errors from programs. Its services are specifically useful when there is no source code available. Code analysis performed by this software includes register tracing and analyzing API calls, tables, switches, loops, strings, constants, and procedures.
Apart from debugging multithread applications, it can even operate on running programs. Fixes are made as Patches between sessions are saved and written back in an executable form. Some key features of this software include a User-friendly interface, low storage, UNICODE support, support for Delphi, MASM, and IDEAL formats, ASCII recognition, stack frames recognition, and third-party plugins compatibility.
X64dbg is a debugging software that can debug x64 and x32 applications. A single interface is provided for both apps. It is an Open-source software built from Open source libraries such as Zydis, Yara, and Scylla, etc. so anyone can contribute. You can monitor Symbols, threads, source code, and content-sensitive registers, identify strings and modules and perform executable patching among other things.
Users are given custom options, for instance, they can change color and write plugins in C++, etc. Community support, text highlights, Graphical interface, intelligible dashboards, powerful analytics, growing plugins support, Yara pattern recognition, memory maps, and built-in assembler decompiler, dissembler, and reconstructor are some of its key features.
Nirsoft Simple Program Debugger is a debugging software that analyzes and displays all major debugging events across your computer, after connecting to either the running program or starting a new program in the debugging mode. Among the events, its display includes thread creation, process creation, exit thread, exit process, exception, DLL load, DII unload, and Debug String. After these are assembled, they can be converted into many file formats. They can even be exported to spreadsheet apps like Excel. Simple UI, engaging dashboards, and command-line options are two of its alluring features.
SoftICE is a debugging software for windows and DOS that analyzes all your programs and repairs them. This software operates on Kernel mode and can temporarily halt all programs on windows if instructed. These features also make this an ideal tool for software cracking. Another alluring feature of this software is its ability to work in secrecy beneath the operating system in such a way that it is unable to detect it.
Immunity Debugger is a debugging software that optimizes your computer by searching for and repairing patches in your computer programs. It is designed to be specifically useful for security-providing services. Featuring a graphical interface with command-line options at the bottom, users can add commands with keyboard shortcuts like with any text-based debugger such as GDB, WinDBG, etc.
Users can even debug remotely from another computer by clicking on the ‘Embedded command line’ tab in the command menu. Some key features of this software include fast speed, lightweight, Simple design, intelligible dashboards, automation, plugins, command history, user-help, python script modification, and python graphing.
GNU Debugger is a debugging software developed for Unix and other systems alike. This software monitors computer programs and modifies their execution according to the user’s needs. Users can even change the internal variables of programs as well as their functions. It’s one amazing feature is the compatibility with programming languages such as C, C++, Free Pascal, Objective-C, Ada, Go, Fortan, etc. You can even perform remote debugging i.e. debugging from another computer. Other features include a Graphical User interface, command-line options, and vast target processor options.
LLDB is a debugger tool for LLVM projects, built from a set of reusable components that regularly use LLVM’s Libraries such as LLVM disassembler and Clang expression parser. Debugging is supported here in multiple languages such as C, C++, and Objective C among many others. Some of its additional features include open sourcing, Command line options, vast platform compatibility, regularly updated language support, JIT debugging, remote debugging, backtracing, breakpoints, modest instructions sets compatibility, and much more.
Data Display Debugger as the name suggests is a display software for debugs that acts as a graphical interface for other debugging platforms such as DBX, JDB, XDB, GDB, ladebug, bashdb, and the perl debugger among others. Aside from common GUI functions such as displaying source texts, this software displays all the information in in-depth charts and graphs with engaging and interactive dashboards which makes it easy for even novice users to understand the information displayed.
Novell Linux Kernel Debugger is debugging software for the Linux Operating System that identifies and removes errors, malware, and bugs from the Kernel of the Operating System. Aside from local debugging, users can also debug remotely. Some of this software’s most alluring features are open-sourcing, high functionality, robust debugging, and ease of usage.
EDB Debugger is a cross-platform debugging software for AArch32/x86/x86-64 that can perform strong and dialectic analysis of the binaries. It comes with a graphical interface that consists of four primary regions: Stack view, data view, register view, and Disassembly view. All of these can be tweaked according to the user’s needs.
Apart from common debugging operations such as step-into/step-over/run/break etc., it can also analyze instructions, check addresses, and view or dispose of memory regions. Symbol maps can be created or imported. Some of this platform’s applicable features include Cloning, compiling options, configuration options, breakpoints, plugins, color highlight, drag and drop function, user help, and coherent dashboard.
kdbg Debugger is a user interface for gdb and GNU debugger platforms. It is fairly simple to use. To debug a file, you simply have to select it from the main menu and execute it. This software can thoroughly inspect variables and codes as well as set/clear/enable or disable breakpoints. Likewise, it can also be used for text searching and viewing source code. This software can even operate with already running programs and debug core dumps. Some important features of this software include Graphical UI, engaging dashboards, user help, threads, and stack view, shortcut keys, customizable options, and display support for Qt’s QString values.
Radare2 is a software that provides a complete framework that can analyze, modify, disassemble or reverse engineer binaries. Offering powerful tools to edit programs, hard drive, kernel memory, and remote gdb servers. It can perform static and dynamic analysis and even has an in-built debugger that can debug modules and other things. Some of its important features include support for multiple file formats, vast compatibility with architectures, Third-party plugins, OS support, graphical interface, text highlights, ease in modification and extending, command line mode, strong text search, code analysis and modification, and a built-in webserver.
Winedbg is a debugging software for wine that apart from detecting and ratifying bugs and errors, can set clearly enable, and disable breakpoints, analyze and disassemble codes, and even supports gdb commands. Additionally, it can debug win 32 and Wine lib apps. You can also generate backtraces manually by attaching your program to the hexadecimal thread ID. This software can run on five modes like default, gdb, auto, minidump, and file.mdmp. All of these modes come with a set of different features and commands.
Ladebug is a debugging tool for Tru64 UNIX and Linux for Alpha systems that can debug programs, threads, multiple processes, core files, and even kernel. This tool even provides the option to debug computers remotely. To use this first, you have to start the program that needs to be debugged. Then you launch Ladebug, where you can either recreate the process that runs the program or analyze it by attaching the debugger to the said process. You can even create breakpoints and pause the process where the bugs happen. Command-line interface, user-help, and easy to comprehend dashboards are some of its noteworthy features.
DTrace is a tracing tool that analyzes and troubleshoots issues in apps and kernels. It can patch instructions in real-time using the instrumentation codes. Although this software is written in D language, other programming languages are supported as well such as Java, Perl, Ruby, Python, C, C++ to name a few. This tool comes with a command-line interface but is compatible with other interfaces as well that use DTrace for gathering data. Some additional features of this tool include Static tracing support, dynamic platform compatibility, open-source, and comprehendible dashboard.