nnd is a terminal-based debugger for native Linux applications, designed around responsive interaction and efficient navigation of large programs.
Unlike interfaces built on top of GDB or LLDB, nnd implements most of its debugging functionality independently. Its design draws some inspiration from RemedyBG, combining familiar source-level debugging tools with a keyboard-driven interface.
A particular emphasis is placed on responsiveness when working with large executables and debugging information. Operations such as loading symbols and searching for program elements are designed to avoid unnecessarily blocking the interface.
nnd is intended for debugging native applications rather than programs running within managed language environments.
This is free and open source software.
Key Features
- Provides a terminal-based visual interface for debugging native Linux applications.
- Supports ordinary and conditional breakpoints to stop execution when selected conditions are met.
- Provides data breakpoints for monitoring changes to specified memory locations.
- Offers different stepping operations for following program execution at source and instruction level.
- Displays source code and disassembled machine instructions during debugging sessions.
- Supports watch expressions for examining program state and evaluating selected values.
- Includes built-in pretty-printers for many standard library types used by C++ and Rust programs.
- Can automatically identify concrete object types from virtual function tables when examining polymorphic classes.
- Designed to handle large executables and substantial amounts of debugging information efficiently.
- Uses asynchronous, multithreaded and cancellable operations for tasks such as loading debug information and searching for functions or types.
- Provides progress indicators for operations that require substantial processing time.
- Supports debugging native programs developed in languages such as C++, Rust, Zig and Odin.
Website: github.com/al13n321/nnd
Support:
Developer: Michael Kolupae
License: Apache License 2.0

nnd is written in Rust. Learn Rust with our recommended free books and free tutorials.
Related Software
| Debuggers | |
|---|---|
| LLDB | Next generation, high-performance debugger |
| Ghidra | Software reverse engineering framework |
| Delve | Source level debugger for the Go programming language |
| GDB | The GNU Debugger |
| Valgrind | A memory debugger and profiler |
| Radare2 | Portable reversing framework |
| BugStalker | Rust debugger |
| Xdebug | Extension for PHP to aid debugging and development |
| Seer | GUI frontend to GDB |
| iaito | Graphical interface for radare2 |
| KDbg | Graphical user interface to GDB |
| strace | Diagnostic, debugging and instructional userspace utility |
| rr | Record-and-replay debugger |
| gf | Lightweight GDB interface with source, stack and memory views |
| drgn | Programmable debugger that puts scripting at the centre |
| cgdb | Lightweight console frontend to the GNU debugger |
| PuDB | Console-based visual debugger for Python |
| nnd | Partially inspired by RemedyBG |
| bashdb | Source-code debugger for bash; follows the GDB command syntax |
| PINCE | Memory scanning, process manipulation and reverse engineering |
| edb | Low-level debugging with disassembly and register inspection |
| Sysprof | Profile an application or entire system |
| crash | Linux kernel crash analysis utility |
Read our verdict in the software roundup.
LinuxLinks helps you discover the best free and open source software for Linux. Explore our extensive collection of recommended applications, including alternatives to popular proprietary software.We also publish software reviews, Linux tutorials, hardware reviews, free programming books and articles covering the wider open source community. Browse our Linux resources to discover more. Know a useful free and open source Linux application we haven't covered? Suggest a program for inclusion. Has your software been featured on LinuxLinks? Display one of our Featured on LinuxLinks badges on your website or GitHub README. |


Please read our Comment Policy before commenting.