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)
Top Articles
Aaron Ramsdale: Wolves bid to sign Arsenal goalkeeper on loan
Stan Kroenke - Arsenal owner
Is Sam's Club Plus worth it? What to know about the premium warehouse membership before you sign up
Uti Hvacr
Dollywood's Smoky Mountain Christmas - Pigeon Forge, TN
Pga Scores Cbs
Mcfarland Usa 123Movies
Oriellys St James Mn
Wordscape 5832
Summoners War Update Notes
Bestellung Ahrefs
UEQ - User Experience Questionnaire: UX Testing schnell und einfach
National Weather Service Denver Co Forecast
Candy Land Santa Ana
Evil Dead Rise - Everything You Need To Know
FDA Approves Arcutis’ ZORYVE® (roflumilast) Topical Foam, 0.3% for the Treatment of Seborrheic Dermatitis in Individuals Aged 9 Years and Older - Arcutis Biotherapeutics
Jeffers Funeral Home Obituaries Greeneville Tennessee
Seeking Arrangements Boston
Vivaciousveteran
Marquette Gas Prices
1145 Barnett Drive
Dashboard Unt
27 Modern Dining Room Ideas You'll Want to Try ASAP
Stephanie Bowe Downey Ca
1964 Impala For Sale Craigslist
Florence Y'alls Standings
The Monitor Recent Obituaries: All Of The Monitor's Recent Obituaries
Purdue Timeforge
Scat Ladyboy
2430 Research Parkway
Que Si Que Si Que No Que No Lyrics
Fandango Pocatello
Envy Nails Snoqualmie
The Wichita Beacon from Wichita, Kansas
Edward Walk In Clinic Plainfield Il
Panchitos Harlingen Tx
Craigslist Car For Sale By Owner
Craigs List Stockton
Muziq Najm
Hebrew Bible: Torah, Prophets and Writings | My Jewish Learning
Cdcs Rochester
Top 25 E-Commerce Companies Using FedEx
Brake Pads - The Best Front and Rear Brake Pads for Cars, Trucks & SUVs | AutoZone
What Is The Optavia Diet—And How Does It Work?
Ups Authorized Shipping Provider Price Photos
Ajpw Sugar Glider Worth
Muni Metro Schedule
Wwba Baseball
303-615-0055
Craigslist Monterrey Ca
Dcuo Wiki
Latest Posts
Article information

Author: Errol Quitzon

Last Updated:

Views: 6423

Rating: 4.9 / 5 (79 voted)

Reviews: 86% of readers found this page helpful

Author information

Name: Errol Quitzon

Birthday: 1993-04-02

Address: 70604 Haley Lane, Port Weldonside, TN 99233-0942

Phone: +9665282866296

Job: Product Retail Agent

Hobby: Computer programming, Horseback riding, Hooping, Dance, Ice skating, Backpacking, Rafting

Introduction: My name is Errol Quitzon, I am a fair, cute, fancy, clean, attractive, sparkling, kind person who loves writing and wants to share my knowledge and understanding with you.