FACTOID # 144: A three-minute local phone call in Ecuador costs 60 U.S. cents, 60 times as much as in Ukraine, Macedonia, Saudi Arabia, Nepal, or Uzbekistan.
 
 Home   Encyclopedia   Statistics   Countries A-Z   Flags   Maps   Education   Forum   FAQ   About 
 
WHAT'S NEW
RECENT ARTICLES
More Recent Articles »
 

SEARCH ALL

FACTS & STATISTICS    Advanced view

Search encyclopedia, statistics and forums:

 

 

(* = Graphable)

 

 


Encyclopedia > GNU Debugger

The GNU Debugger, usually called just GDB, is the standard debugger for the GNU software system. It is a portable debugger that runs on many Unix-like systems and works for many programming languages, including C, C++, and FORTRAN. A debugger is a computer program that is used to debug (and sometimes test or optimize) other programs which might be running on the same computer (host computer) as the debugger is running, might be running on the target hardware, or might be running on the ISS. When the program... GNU (pronounced ) is a free software operating system. ... A Unix-like operating system is one that behaves in a manner similar to a Unix system, while not necessarily conforming to or being certified to any version of the Single UNIX Specification. ... Computer code (HTML with JavaScript) in a tool that uses Syntax highlighting (colors) to help the developer see the function of each piece of code. ...     The C Programming Language, Brian Kernighan and Dennis Ritchie, the original edition that served for many years as an informal specification of the language The C programming language is a standardized imperative computer programming language developed in the early 1970s by Dennis Ritchie for use on the Unix operating system. ... C++ (pronounced see plus plus, IPA: ) is a general-purpose computer programming language. ... Fortran (also FORTRAN) is a statically typed, compiled, programming language originally developed in the 1950s and still heavily used for scientific computing and numerical computation half a century later. ...

Contents


History

Originally written by Richard Stallman in 1988, GDB is free software released under the GNU General Public License. An image of Richard Stallman from the cover of the OReilly book Free as in Freedom: Richard Stallmans Crusade for Free Software by Sam Williams (2002). ... 1988 (MCMLXXXVIII) was a leap year starting on a Friday of the Gregorian calendar. ... Free software, as defined by the Free Software Foundation, is software which can be used, copied, studied, modified and redistributed without restriction. ... The GNU logo The GNU General Public License (GNU GPL or simply GPL) is probably the most popular free software license, originally written by Richard Stallman for the GNU project. ...


From 1990 to 1993 it was maintained by John Gilmore while he worked for Cygnus Solutions. John Gilmore for the jazz saxophonist, or John Gilmore John Gilmore is one of the founders of the Electronic Frontier Foundation, the Cypherpunks mailing list, and Cygnus Solutions. ... Cygnus Solutions, originally Cygnus Support, was founded in 1989 by John Gilmore, Michael Tiemann and David Henkel-Wallace to provide commercial support for free software. ...


Technical details

Features

GDB offers extensive facilities for tracing and altering the execution of computer programs. The user can monitor and modify the values of programs' internal variables, and even call functions independently of the program's normal behavior. A computer program or software program (usually abbreviated to a program) is a step-by-step list of instructions written for a particular computer architecture in a particular computer programming language. ... In computer science and mathematics, a variable is a symbol denoting a quantity or symbolic representation. ... In computer science, a subroutine (function, procedure, or subprogram) is a sequence of code which performs a specific task, as part of a larger program, and is grouped as one, or more, statement blocks; such code is sometimes collected into software libraries. ...


GDB target processors (as of 2003) include: Alpha, ARM, H8/300, System/370, System 390, X86 and X86-64, IA-64 "Itanium", Motorola 68000, MIPS,PA-RISC, PowerPC, SuperH, SPARC, VAX. 2003 (MMIII) was a common year starting on Wednesday of the Gregorian calendar. ... DEC Alpha AXP 21064 Microprocessor The DEC Alpha, also known as the Alpha AXP, is a 64-bit RISC microprocessor originally developed and fabricated by Digital Equipment Corp. ... The ARM architecture (originally the Acorn RISC Machine) is a 32-bit RISC processor architecture that is widely used in a number of applications. ... H8 is the name of a large family of 8-bit and 16-bit microcontrollers made by Renesas Technology Corp. ... The System/370 is a model range of IBM mainframes introduced in the early 1970s as the successors to the System/360 family. ... The title given to this article is incorrect due to technical limitations. ... x86 or 80x86 is the generic name of a microprocessor architecture first developed and manufactured by Intel. ... The AMD64 or x86-64 is a 64-bit processor architecture invented by AMD. It is a superset of the x86 architecture, which it natively supports. ... Itanium brand logo In computing, the Itanium is an IA-64 microprocessor developed jointly by Hewlett-Packard and Intel. ... The Motorola 68000 is a CISC microprocessor, the first member of a successful family of microprocessors from Motorola, which were all mostly software compatible. ... A MIPS R4400 microprocessor made by Toshiba MIPS, for Microprocessor without interlocked pipeline stages, is a RISC microprocessor architecture developed by MIPS Computer Systems Inc. ... PA-RISC is a microprocessor architecture developed by Hewlett-Packards Systems & VLSI Technology Operation. ... PowerPC is a RISC microprocessor architecture created by the 1991 Apple-IBM-Motorola alliance, known as AIM. Originally intended for personal computers, PowerPC CPUs have since become popular embedded and high-performance processors as well. ... The SuperH (or SH) is a microprocessor architecture. ... Sun UltraSPARC II Microprocessor Sun UltraSPARC T1 (Niagara 8 Core) SPARC (Scalable Processor ARChitecture) is a pure big-endian RISC microprocessor architecture originally designed in 1985 by Sun Microsystems. ... VAX is a 32-bit computing architecture that supports an orthogonal instruction set (machine language) and virtual addressing (i. ...


Lesser-known target processors supported in the standard release have included A29K, ARC, AVR, CRIS, D10V, D30V, FR-30, FR-V, Intel i960, M32R, 68HC11, Motorola 88000, MCORE, MN10200, MN10300, NS32K, Stormy16, V850, VAX, and Z8000. (Newer releases will likely not include some of these.) An ARC console screen on an Alpha AXP system Advanced RISC Computing is a specification promulgated by a defunct consortium of computer manufacturers (the Advanced Computing Environment project), setting forth a standard MIPS RISC-based computer hardware and firmware environment. ... Check [AVR] ... The Fujitsu FR-V is a VLIW-based RISC microprocessor, including FR-400 and FR-450 which run uClinux and GNU Linux respectively, and are also supported by GNU_Compiler_Collection. ... Intels i960 (or 80960) was a RISC-based microprocessor design that became quite popular during the early 1990s as an embedded microcontroller, for some time likely the best-selling CPU in that field, pushing the AMD 29000 from that spot. ... The Renesas M32R is a 32-bit embedded RISC microcontroller originally developed and manufactured by Mitsubishi Electric Corporation, succeeded by a FPGA-implemented MMUed M32R variant named mappi which runs Debian/GNU Linux, and is supported by the GNU Compiler Collection. ... The Motorola 68HC11 (6811 or HC11 for short) is a microcontroller (µC) family from Motorola, descended from the Motorola 6800 microprocessor, and a subfamily of the 68h family. ... The 88000 (m88k for short) is a microprocessor design produced by Motorola. ... The 320xx is a series of microprocessors from National Semiconductor (NS, Natsemi). The 320xx processors have a coprocessor interface which allows coprocessors such as FPUs and MMUs to be attached in a chain. ... The NEC Electronics Corporation V850 is a 32-bit embedded RISC microcontroller originally developed and manufactured by NEC, succeeded by V850 variants named V850E, and V850E2 which run uClinux, and is supported by GNU_Compiler_Collection. ... VAX is a 32-bit computing architecture that supports an orthogonal instruction set (machine language) and virtual addressing (i. ... The Z8000 was a 16-bit microprocessor introduced by ZiLOG in 1979. ...


GDB has compiled-in simulators for target processors even for lesser-known target processors such like M32R or V850. An Instruction Set Simulator (ISS) is a simulation model, usually coded in a high-level language, which mimics the behavior of a processor by reading instructions and maintaining internal variables which represent the processors registers. ...


GDB offers a 'remote' mode often used when debugging embedded systems. Remote operation is when GDB runs on one machine and the program being debugged runs on another. GDB can communicate to the remote 'stub' which understands GDB protocol via Serial or TCP/IP.


Limitations

The debugger does not contain its own graphical user interface, and defaults to a command-line interface. Several front-ends have been built for it, such as DDD, GDBtk/Insight and the "GUD mode" in Emacs. These offer facilities similar to debuggers found in integrated development environments. A graphical user interface (or GUI, sometimes pronounced gooey) is a method of interacting with a computer through a metaphor of direct manipulation of graphical images and widgets in addition to text. ... A command line interface or CLI is a method of interacting with a computer by giving it lines of textual commands (that is, a sequence of characters) either from keyboard input or from a script. ... Data Display Debugger, or DDD, is a popular graphical user interface for command-line debuggers such as GDB, DBX, JDB, WDB, XDB, the Perl debugger, and the Python debugger. ... Insight is: Look up insight in Wiktionary, the free dictionary. ...     This article is about the text editor. ... An integrated development environment (IDE), also known as integrated design environment and integrated debugging environment, is a type of computer software that assists computer programmers to develop software. ...


Some other debugging tools have been designed to work with GDB, such as memory leak detectors. A memory leak is unnecessary memory consumption by a computer program. ...


An example session

This is an example GDB session on the example program in Stack trace: A stack trace (also called backtrace) is a report of the active stack frames instantiated by the execution of a program. ...

 GNU gdb Red Hat Linux (6.3.0.0-1.21rh) Copyright 2004 Free Software Foundation, Inc. GDB is free software, covered by the GNU General Public License, and you are welcome to change it and/or distribute copies of it under certain conditions. Type "show copying" to see the conditions. There is absolutely no warranty for GDB. Type "show warranty" for details. This GDB was configured as "i386-redhat-linux-gnu"...Using host libthread_db library "/lib/libthread_db.so.1". (gdb) run Starting program: /home/sam/programming/crash Reading symbols from shared object read from target memory...done. Loaded system supplied DSO at 0xc11000 This program will demonstrate gdb Program received signal SIGSEGV, Segmentation fault. 0x08048428 in function_2 (x=24) at crash.c:22 22 return *y; (gdb) edit (gdb) shell gcc crash.c -o crash -gstabs+ (gdb) run The program being debugged has been started already. Start it from the beginning? (y or n) y warning: cannot close "shared object read from target memory": File in wrong format `/home/sam/programming/crash' has changed; re-reading symbols. Starting program: /home/sam/programming/crash Reading symbols from shared object read from target memory...done. Loaded system supplied DSO at 0xa3e000 This program will demonstrate gdb 24 Program exited normally. (gdb) quit 

The program is being run. After the cause of the segmentation fault is found, the program is edited to use the correct behavior. The corrected program is recompiled with GCC and then run. GCC may stand for: Gulf Cooperation Council GNU Compiler Collection (formerly, the GNU C Compiler) Garde côtière canadienne (Canadian Coast Guard) Germanna Community College Glendale Community College global carbon cycle Global Climate Coalition Grand Council of the Crees (gcc. ...


References

An image of Richard Stallman from the cover of the OReilly book Free as in Freedom: Richard Stallmans Crusade for Free Software by Sam Williams (2002). ... The Free Software Foundation logo The Free Software Foundation (FSF) is a non-profit organization founded in October 1985 by Richard Stallman to support the free software movement (free as in freedom), and in particular the GNU project. ... No Starch Press is a publishing company specializing in computer books for the technically savvy, or geek entertainment as they term it. ...

External links

  • GDB homepage
  • Debugging with GDB
  • GDB Internals

  Results from FactBites:
 
Encyclopedia: GNU Debugger (481 words)
A debugger is a computer program that is used to debug (and sometimes test or optimize) other programs which might be running on the same computer (host computer) as the debugger is running, might be running on the target hardware, or might be running on the ISS.
The correct pronunciation of GNU is g'noo (IPA: /gnu/), with a hard "g", to distinguish it from the word new and for humorous effect; some individuals pronounce it identically to "new", but this practice causes confusion.
The GNU project was announced publicly on September 27, 1983, on the net.unix-wizards and net.usoft newsgroups.
GNU Debugger - Wikipedia, the free encyclopedia (562 words)
The GNU Debugger, usually called just GDB, is the standard debugger for the GNU software system.
It is a portable debugger that runs on many Unix-like systems and works for many programming languages, including C, C++, and FORTRAN.
GNU gdb Red Hat Linux (6.3.0.0-1.21rh) Copyright 2004 Free Software Foundation, Inc. GDB is free software, covered by the GNU General Public License, and you are welcome to change it and/or distribute copies of it under certain conditions.
  More results at FactBites »


 

COMMENTARY     


Share your thoughts, questions and commentary here
Your name
Your comments
Please enter the 5-letter protection code

Want to know more?
Search encyclopedia, statistics and forums:

 


Lesson Plans | Student Area | Student FAQ | Reviews | Press Releases |  Feeds | Contact
The Wikipedia article included on this page is licensed under the GFDL.
Images may be subject to relevant owners' copyright.
All other elements are (c) copyright NationMaster.com 2003-5. All Rights Reserved.
Usage implies agreement with terms.