Memory debugger

Memory debugger

A memory debugger is a programming tool for finding memory leaks and buffer overflows. These are due to bugs related to the allocation and deallocation of dynamic memory. Programs written in languages that have garbage collection, such as managed code, might also need memory debuggers, e.g. for memory leaks due to "living" references in collections.

Contents

Overview

Memory debuggers work by monitoring memory access, allocations, and deallocation of memory. Many memory debuggers required to recompile applications with special dynamic memory allocation libraries whose APIs are mostly compatible with conventional dynamic memory allocation libraries to enable debugging (or use dynamic linking). Electric Fence is such a debugger which debugs memory allocation with malloc. Some memory debuggers (e.g:Valgrind) works by running the executable in a virtual machine like environment, monitoring memory access, allocation and deallocation so that no recompilation with special memory allocation libraries is required.

As abnormally high memory utilization can be a contributoring factor in software aging, memory debuggers can help programmers to avoid software anomalies that would exhaust the computer system memory, thus ensuring high reliability of the software even for long runtimes.

List of memory debugging tools

This is a list of tools useful for memory debugging. A profiler can be used in conjunction with a memory debugger.

See also

References

External links


Wikimedia Foundation. 2010.

Игры ⚽ Поможем написать реферат

Look at other dictionaries:

  • Debugger — A debugger or debugging tool is a computer program that is used to test and debug other programs (the target program). The code to be examined might alternatively be running on an instruction set simulator (ISS), a technique that allows great… …   Wikipedia

  • Memory leak — A memory leak, in computer science (or leakage, in this context), occurs when a computer program consumes memory but is unable to release it back to the operating system. In object oriented programming, a memory leak happens when an object is… …   Wikipedia

  • Debugger — Débogueur Voir « débogueur » sur le Wiktionnaire …   Wikipédia en Français

  • Memory map — In computer science, a memory map is a structure of data (which usually resides in memory itself) that indicates how memory is laid out. Memory maps can have a different meaning in different parts of the operating system. In the boot process, a… …   Wikipedia

  • Memory leak — Speicherleck (englisch memory leak, gelegentlich auch Speicherloch oder kurz memleak) werden Fehler in einem Computerprogramm genannt, die es ermöglichen, dass ein laufender Prozess einen Speicherbereich belegt, diesen jedoch im Zuge der… …   Deutsch Wikipedia

  • Memory Array Redcode Simulator — Bildschirmfoto von Core War Core War (Krieg der Kerne) ist ein Programmierspiel, bei dem zwei oder mehr Programme, die in einer simplen, assemblerartigen Sprache namens Redcode geschrieben sind, im selben Speicherraum gegeneinander antreten.… …   Deutsch Wikipedia

  • C dynamic memory allocation — C Standard Library Data types Character classification Strings Mathematics File input/output Date/time Localization …   Wikipedia

  • GNU Debugger — infobox software developer = GNU Project released = 1986 latest release version = 6.8 latest release date = March 27, 2008 operating system = genre = Debugger license = GPL website = [http://www.gnu.org/software/gdb/ gnu.org/software/gdb/] The… …   Wikipedia

  • Microsoft Visual Studio Debugger — The Microsoft Visual Studio Debugger is a debugger that ships along with all versions of Microsoft Visual Studio. This debugger owes much of its feel and functionality to CodeView, a standalone, text based debugger that shipped with Microsoft… …   Wikipedia

  • GNU Debugger — GDB Тип …   Википедия

Share the article and excerpts

Direct link
Do a right-click on the link above
and select “Copy Link”