Nemiver is computer software, a graphical standalone debugger for the programming languages C and C++, which integrates in the GNOME desktop environment. It currently features a backend which uses the well known GNU Debugger (GDB). The creator and the current lead developer is Dodji Seketeli.
|Developer(s)||The Nemiver Team|
|Initial release||November 10, 2006|
0.9.6 / September 23, 2015
|License||GNU General Public License|
Users can start debugging programs with Nemiver either directly from the command line by typing
nemiver <your-program> <prog-arg1> <prog-arg2> ... <prog-argN>
or by launching Nemiver first and then using its graphical dialogs to launch the program you want to debug.
Once the program to be debugged is launched, Nemiver automatically sets a breakpoint in its main function. Once the program is stopped in the main function, users are free to set breakpoints, inspect variables, single step, resume the execution of the inferior, etc.
Nemiver stores on disk some basic information about a debugging session so that it can easily be resumed later. Whenever debugging is started, a new session is created automatically unless it is explicitly requested to resume an extant session. On exit, the session is automatically saved. Information saved with a session includes breakpoints, program arguments, working directory path, environment variables, etc. Also, the current session can be saved to disk on demand.
Nemiver is a bit more than just a simple graphical user interface (GUI) debugger. It is a platform which can be extended with plug-ins based on dynamically loaded modules.
The libnemivercommon library provides the basic functions to load dynamic modules and enable a plug-in architecture, allowing Nemiver to be extended using additional plugins, and even new perspectives for the nemiver workbench. Currently, only the debugging perspective is provided, but others could be added in the future (e.g., a perspective for profiling tools such as OProfile, Valgrind-Massif, etc.).
Nemiver also provides an event-based debugger library (which currently features a GDB back end, but others could be added in the future) that could be re-used by other projects seeking to implement a debugger as a part of an integrated development environment (IDE), for example.