Nemiver
   HOME

TheInfoList



OR:

Nemiver is computer
software Software is a set of computer programs and associated software documentation, documentation and data (computing), data. This is in contrast to Computer hardware, hardware, from which the system is built and which actually performs the work. ...
, a graphical standalone
debugger A debugger or debugging tool is a computer program used to test and debug other programs (the "target" program). The main use of a debugger is to run the target program under controlled conditions that permit the programmer to track its executi ...
for the programming languages C and
C++ C++ (pronounced "C plus plus") is a high-level general-purpose programming language created by Danish computer scientist Bjarne Stroustrup as an extension of the C programming language, or "C with Classes". The language has expanded significan ...
, which integrates in the GNOME desktop environment. It currently features a backend which uses the well known
GNU Debugger The GNU Debugger (GDB) is a portable debugger that runs on many Unix-like systems and works for many programming languages, including Ada, C, C++, Objective-C, Free Pascal, Fortran, Go, and partially others. History GDB was first written ...
(GDB). The creator and the current lead developer is Dodji Seketeli.


Features


General

Users can start debugging source code 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 to debug. Once the program is launched, Nemiver automatically sets a breakpoint in its main function. Once the program has stopped at the main function, users are free to set breakpoints, inspect variables, investigate the behavior of functions within the code, resume the execution of the program etc.


Sessions

Nemiver stores some basic information about a debugging session on disk, so that the session can 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 more than a
graphical user interface The GUI ( "UI" by itself is still usually pronounced . or ), graphical user interface, is a form of user interface that allows users to interact with electronic devices through graphical icons and audio indicator such as primary notation, inst ...
(GUI) debugger for computer code. It is a platform which can be extended with plugins. The libnemivercommon library provides the basic functions to load dynamic modules and enable a plug-in architecture, and allowing new functionality for the Nemiver workbench. Currently, only the debugging functionality is provided, but others could be added, for example profiling tools such as
OProfile In computing, OProfile is a system-wide statistical profiling tool for Linux. John Levon wrote it in 2001 for Linux kernel version 2.4 after his M.Sc. project; it consists of a kernel module, a user-space daemon and several user-space tools. De ...
, or
Valgrind Valgrind () is a programming tool for memory debugging, memory leak detection, and profiling. Valgrind was originally designed to be a free memory debugging tool for Linux on x86, but has since evolved to become a generic framework for crea ...
-Massif. 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 An integrated development environment (IDE) is a software application that provides comprehensive facilities to computer programmers for software development. An IDE normally consists of at least a source code editor, build automation tools ...
(IDE), for example.


About

Nemiver is written in
C++ C++ (pronounced "C plus plus") is a high-level general-purpose programming language created by Danish computer scientist Bjarne Stroustrup as an extension of the C programming language, or "C with Classes". The language has expanded significan ...
, and relies on many components of the GNOME platform, such as
Gtkmm gtkmm (formerly known as gtk-- or gtk minus minus) is the official C++ interface for the popular GUI library GTK. gtkmm is free software distributed under the GNU Lesser General Public License (LGPL). gtkmm allows the creation of user interface ...
.


See also

*
Data Display Debugger Data Display Debugger (GNU DDD) is a graphical user interface (using the Motif toolkit) for command-line debuggers such as GDB, DBX, JDB, HP Wildebeest Debugger, XDB, the Perl debugger, the Bash debugger, the Python debugger, and the GNU Make ...
(DDD), a
Motif (software) In computing, Motif refers to both a graphical user interface (GUI) specification and the widget toolkit for building applications that follow that specification under the X Window System on Unix and Unix-like operating systems. The Motif look a ...
debugger front-end * KDbg, a GDB front end that integrates well in the KDE environment *
GNU Debugger The GNU Debugger (GDB) is a portable debugger that runs on many Unix-like systems and works for many programming languages, including Ada, C, C++, Objective-C, Free Pascal, Fortran, Go, and partially others. History GDB was first written ...
(GDB)


External links

* Debuggers Free software programmed in C++ GNOME Developer Tools Software that uses GTK {{GNOME-stub