Nemiver

Last updated
Nemiver
Nemiver-icon.svg
Nemiver-screenshot.png
Developer(s) The Nemiver Team
Initial releaseNovember 10, 2006;13 years ago (2006-11-10)
Stable release
0.9.6 / September 23, 2015;5 years ago (2015-09-23)
Repository OOjs UI icon edit-ltr-progressive.svg
Written in C++
Operating system Cross-platform
Platform GNOME
Type Debugger
License GNU General Public License
Website projects.gnome.org/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 (GDB). The creator and the current lead developer is Dodji Seketeli.

Contents

Features

General

Users can start debugging source code 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 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 (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, or Valgrind-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 (IDE), for example.

About

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

See also


Related Research Articles

GNU Debugger Source-level 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.

Integrated development environment Software application used to develop software

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 and a debugger. Some IDEs, such as NetBeans and Eclipse, contain the necessary compiler, interpreter, or both; others, such as SharpDevelop and Lazarus, do not.

Debugger A computer program

A debugger or debugging tool is a computer program used to test and debug other programs. The main use of a debugger is to run the target program under controlled conditions that permit the programmer to track its operations in progress and monitor changes in computer resources that may indicate malfunctioning code. Typical debugging facilities include the ability to run or halt the target program at specific points, display the contents of memory, CPU registers or storage devices, and modify memory or register contents in order to enter selected test data that might be a cause of faulty program execution.

Data Display Debugger graphical user interface (using the Motif toolkit) for command-line debuggers (e.g. GDB, XDB, the Perl debugger, the Bash debugger, the Python debugger, and the GNU Make debugger); a GNU project

Data Display Debugger is a graphical user interface 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 debugger. DDD is part of the GNU Project and distributed as free software under the GNU General Public License.

In-circuit emulation (ICE) is the use of a hardware device or in-circuit emulator used to debug the software of an embedded system. It operates by using a processor with the additional ability to support debugging operations, as well as to carry out the main function of the system. Particularly for older systems, with limited processors, this usually involved replacing the processor temporarily with a hardware emulator: a more powerful although more expensive version. It was historically in the form of bond-out processor which has many internal signals brought out for the purpose of debugging. These signals provide information about the state of the processor.

CodeView is a standalone debugger created by David Norris at Microsoft in 1985 as part of its development toolset. It originally shipped with Microsoft C 4.0 and later. It also shipped with Visual Basic for MS-DOS, Microsoft BASIC PDS, and a number of other Microsoft language products. It was one of the first debuggers on the DOS platform that was full-screen oriented, rather than line-oriented.

Breakpoint intentional stopping or pausing place in a program, used for debugging

In software development, a breakpoint is an intentional stopping or pausing place in a program, put in place for debugging purposes. It is also sometimes simply referred to as a pause.

eric (software) software

eric is a free integrated development environment (IDE) used for computer programming. Since it is a full featured IDE, it provides by default all necessary tools needed for the writing of code and for the professional management of a software project.

GNOME Terminal Terminal emulator from GNOME

GNOME Terminal is a terminal emulator for the GNOME desktop environment written by Havoc Pennington and others. Terminal emulators allow users to access a UNIX shell while remaining on their graphical desktop.

gtkmm is the official C++ interface for the popular GUI library GTK. gtkmm is free software distributed under the GNU Lesser General Public License (LGPL).

SEGGER Microcontroller, founded in 1992, is a private company active in the industry of Embedded Systems. It provides software libraries plus programming and development tools. SEGGER produces debug probes, with accompanying debugger and performance analyzer software, plus communication and security software. The company is headquartered in Monheim am Rhein, Germany with US offices in Gardner, Massachusetts and Milpitas, California.

Cosmos (operating system) open source operating system building kit

C# Open Source Managed Operating System (Cosmos) is a toolkit for building operating systems, written mostly in the programming language C# and small amounts of a high level assembly language named X#. Cosmos is a backronym, in that the acronym was chosen before the meaning. It is open-source software released under a BSD license. It is referred to as OS Legos

CodeLite integrated development environment

CodeLite is a free and open-source IDE for the C, C++, PHP, and JavaScript (Node.js) programming languages.

Qt Creator QT development environment

Qt Creator is a cross-platform C++, JavaScript and QML integrated development environment which simplifies GUI application development. It is part of the SDK for the Qt GUI application development framework and uses the Qt API, which encapsulates host OS GUI function calls. It includes a visual debugger and an integrated WYSIWYG GUI layout and forms designer. The editor has features such as syntax highlighting and autocompletion. Qt Creator uses the C++ compiler from the GNU Compiler Collection on Linux and FreeBSD. On Windows it can use MinGW or MSVC with the default install and can also use Microsoft Console Debugger when compiled from source code. Clang is also supported.


The Wing Python IDE family of integrated development environments (IDEs) from Wingware was created specifically for the Python programming language. These lightweight but full-featured Python IDEs are designed to speed up writing, debugging, and testing code, to reduce the incidence of coding errors, and to make it easier to understand and navigate Python code.

GNOME Desktop environment for Linux and Unix-like systems

GNOME is a free and open-source desktop environment for Unix-like operating systems. GNOME was originally an acronym for GNU Network Object Model Environment, but the acronym was dropped because it no longer reflected the vision of the GNOME project.

In computer programming and software development, debugging is the process of finding and resolving bugs within computer programs, software, or systems.

pluma (editor) Powerful text editor for MATE

pluma is a fork of gedit 2 and the default text editor of the MATE desktop environment used in Linux distributions. It extends the basic functionality with other features and plugins.