Nemiver


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. The creator and the current lead developer is Dodji Seketeli.

Features

General

Users can start debugging programs with Nemiver either directly from the command line by typing
nemiver   ... 

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.

Sessions

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.

Extensions

Nemiver is a bit more than just a simple graphical user interface 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.
Nemiver also provides an event-based debugger library that could be re-used by other projects seeking to implement a debugger as a part of an integrated development environment, for example.

About

Nemiver is written in C++, and heavily relies on many components of the GNOME platform, such as Gtkmm.