GDB: The GNU Project Debugger (2024)

[bugs][maintainers][contributing][currentgit][documentation][download][home][irc][links][mailinglists][news][schedule][song][wiki]

What is GDB?

GDB, the GNU Project debugger, allows you to see what is going on`inside' another program while it executes -- or what another programwas doing at the moment it crashed.

GDB can do four main kinds of things (plus other things in supportof these) to help you catch bugs in the act:

  • Start your program, specifying anything that might affect its behavior.
  • Make your program stop on specified conditions.
  • Examine what has happened, when your program has stopped.
  • Change things in your program, so you can experiment withcorrecting the effects of one bug and go on to learn about another.
Those programs might be executing on the same machine as GDB (native),on another machine (remote), or on a simulator. GDB can run on mostpopular UNIX and Microsoft Windows variants, as well as on macOS.

What Languages does GDB Support?

GDB supports the following languages (in alphabetical order):
  • Ada
  • Assembly
  • C
  • C++
  • D
  • Fortran
  • Go
  • Objective-C
  • OpenCL
  • Modula-2
  • Pascal
  • Rust

GDB version 15.1

Version 15.1 of GDB, the GNUDebugger, is now available for download. See the ANNOUNCEMENT for detailsincluding changes in this release.

An errata list (PROBLEMS) and documentationare also available.

News

July 7th, 2024: GDB 15.1 Released!

The latest version of GDB, version 15.1, is available for download.
This version of GDB includes the following changes and enhancements:
  • Building GDB and GDBserver now requires a C++17 compiler (for instance, GCC 9 or later).
  • Enhanced Python support
    • New function gdb.notify_mi(NAME, DATA), that emits custom GDB/MI async notification.
    • New read/write attribute gdb.Value.bytes that contains a bytes object holding the contents of this value.
    • New module gdb.missing_debug that facilitates dealing with objfiles that are missing any debug information.
    • New function gdb.missing_debug.register_handler that can register an instance of a sub-class of gdb.missing_debug.MissingDebugInfo as a handler for objfiles that are missing debug information.
    • New class gdb.missing_debug.MissingDebugInfo which can be sub-classed to create handlers for objfiles with missing debug information.
    • Stop events now have a "details" attribute that holds a dictionary that carries the same information as an MI "*stopped" event.
    • New function gdb.interrupt(), that interrupts GDB as if the user typed control-c.
    • New gdb.InferiorThread.ptid_string attribute. This read-only attribute contains the string that appears in the 'Target Id' column of the 'info threads' command output.
    • It is no longer possible to create new gdb.Progspace object using 'gdb.Progspace()', this will result in a TypeError. Progspace objects can still be obtained through calling other API functions, for example 'gdb.current_progspace()'.
    • User defined attributes can be added to a gdb.Inferior object, these will be stored in the object's new Inferior.__dict__ attribute.
    • User defined attributes can be added to a gdb.InferiorThread object, these will be stored in the object's new InferiorThread.__dict__ attribute.
    • New constants gdb.SYMBOL_TYPE_DOMAIN, gdb.SYMBOL_FUNCTION_DOMAIN, and gdb.SEARCH_*_DOMAIN
  • Debugger Adapter Protocol changes
    • GDB now emits the "process" event.
    • GDB now supports the "cancel" request.
    • The "attach" request now supports specifying the program.
    • New command "set debug dap-log-level" controls DAP logging.
  • Remote protocol
    • New stop reason: clone
    • QThreadOptions in qSupported
    • New remote packets: QThreadOptions, qIsAddressTagged
    • New "set/show remote thread-options-packet" commands
  • GDBserver
    • The --remote-debug and --event-loop-debug command line options have been removed.
    • The --debug command line option now takes an optional comma separated list of components to emit debug for. The currently supported components are: all, threads, event-loop, and remote. If no components are given then threads is assumed.
    • The 'monitor set remote-debug' and 'monitor set event-loop-debug' command have been removed.
    • The 'monitor set debug 0|1' command has been extended to take a component name, e.g.: 'monitor set debug COMPONENT off|on'. Possible component names are: all, threads, event-loop, and remote.
  • Deprecated or removed
    • The MPX commands "show/set mpx bound" have been deprecated, as Intel listed MPX as removed in 2019.
  • Miscellaneous
    • Guile API: New constants SYMBOL_TYPE_DOMAIN, SYMBOL_FUNCTION_DOMAIN, and SEARCH_*_DOMAIN
    • New "set/show direct-call-timeout" commands.
    • New "set/show indirect-call-timeout" commands.
    • New "set/show unwind-on-timeout on|off" commands.
    • New "set/show unwind-on-signal on|off" commands, renaming the old "set/show unwindonsignal" commands. The old commands are maintained as an alias.
    • The "gcore" and "generate-core-file" commands now generates sparse core files, on systems that support it.
    • The "maintenance info line-table" command now includes a new EPILOGUE-BEGIN column indicating the start of the function's epilogue.
    • Simultaneous use of the 'r' and 'b' flags in the "disassemble" command now triggers an error.
See the NEWS file for a more complete and detailed list of what this release includes.
May 26th, 2024: GDB 15 branch created

The GDB 15 branch (gdb-15-branch) has been created.To check out a copy of the branch use:

git clone --branch gdb-15-branch https://sourceware.org/git/binutils-gdb.git
March 3rd, 2024: GDB 14.2 Released!

The latest version of GDB, version 14.2, is available for download.

This is a minor corrective release over GDB 14.1, fixing the followingissues:

  • PR symtab/31112 (DLL export forwarding is broken)
  • PR c++/31128 (gdb crashes when trying to print a global variable stub without a running inferior)
  • PR tdep/31254 ([gdb/tdep, arm] FAIL: gdb.threads/staticthreads.exp: up 10)
  • PR gdb/31256 (Crash with basic 'list .')
  • PR python/31366 (Frame.static_link() segfaults)
See the NEWS file for a more complete and detailed list of what this release includes.
Nov 28, 2006: Reversible Debugging

The GDB maintainers are looking for contributors interestedin reversible debugging.

Late breaking information, such as recently added features, can befound in the NEWS file in the gdb source tree. Old announcements are in thenews archive.
[bugs][maintainers][contributing][currentgit][documentation][download][home][irc][links][mailinglists][news][schedule][song][wiki]

Please send FSF & GNU inquiries & questions to gnu@gnu.org. There are also other ways tocontact the FSF.

This page is maintained by the GDBdevelopers.

Copyright Free Software Foundation, Inc., 51 Franklin St - FifthFloor, Boston, MA 02110-1301 USA.

Verbatim copying and distribution of this entire article ispermitted in any medium, provided this notice is preserved.

Last modified 2024-07-07.

GDB: The GNU Project Debugger (2024)

References

Top Articles
Creglist Oahu
Tony Romo news - Today’s latest updates
Worcester Weather Underground
7 Verification of Employment Letter Templates - HR University
Busted Newspaper Zapata Tx
What happened to Lori Petty? What is she doing today? Wiki
Vaya Timeclock
Prosper TX Visitors Guide - Dallas Fort Worth Guide
Miss Carramello
라이키 유출
Lenscrafters Westchester Mall
10 Great Things You Might Know Troy McClure From | Topless Robot
Gfs Rivergate
Belly Dump Trailers For Sale On Craigslist
Saberhealth Time Track
Simpsons Tapped Out Road To Riches
Commodore Beach Club Live Cam
Divina Rapsing
Apply for a credit card
Welcome to GradeBook
Indystar Obits
Busted News Bowie County
Rochester Ny Missed Connections
Everything To Know About N Scale Model Trains - My Hobby Models
Sam's Club Gas Price Hilliard
Kroger Feed Login
Rek Funerals
Ou Football Brainiacs
Dexter Gomovies
Shia Prayer Times Houston
How rich were the McCallisters in 'Home Alone'? Family's income unveiled
Franklin Villafuerte Osorio
Fbsm Greenville Sc
Metro By T Mobile Sign In
Play 1v1 LOL 66 EZ → UNBLOCKED on 66games.io
Unlock The Secrets Of "Skip The Game" Greensboro North Carolina
Back to the Future Part III | Rotten Tomatoes
Usf Football Wiki
Pitchfork's Top 200 of the 2010s: 50-1 (clips)
Craigslist Boats Eugene Oregon
World History Kazwire
Philadelphia Inquirer Obituaries This Week
Rage Of Harrogath Bugged
Japanese Big Natural Boobs
Verizon Outage Cuyahoga Falls Ohio
Craigslist Pets Plattsburgh Ny
How Much Is 10000 Nickels
Sky Dental Cartersville
8 4 Study Guide And Intervention Trigonometry
Walmart Listings Near Me
March 2023 Wincalendar
The Love Life Of Kelsey Asbille: A Comprehensive Guide To Her Relationships
Latest Posts
Article information

Author: Prof. An Powlowski

Last Updated:

Views: 6263

Rating: 4.3 / 5 (44 voted)

Reviews: 83% of readers found this page helpful

Author information

Name: Prof. An Powlowski

Birthday: 1992-09-29

Address: Apt. 994 8891 Orval Hill, Brittnyburgh, AZ 41023-0398

Phone: +26417467956738

Job: District Marketing Strategist

Hobby: Embroidery, Bodybuilding, Motor sports, Amateur radio, Wood carving, Whittling, Air sports

Introduction: My name is Prof. An Powlowski, I am a charming, helpful, attractive, good, graceful, thoughtful, vast person who loves writing and wants to share my knowledge and understanding with you.