Archer
Summary
Archer is a gdb development branch focusing on better C++ support. It also includes Python scripting capabililites.
Owner
- Name: Tom Tromey
- email: tromey@redhat.com
Current status
- Targeted release: [[Releases/11 | Template:11 ]]
- Last updated: 2008-12-01
- Percentage of completion: 50%
Detailed Description
More information on the Archer project can be found on the gdb wiki: http://sourceware.org/gdb/wiki/ProjectArcher
Archer is a long-term project with multiple branches being developed in parallel. We'll merge these branches together to produce a released version for Fedora.
Benefit to Fedora
In the F11 time frame, this will bring Python scripting to gdb, plus some bug fixes. This will improve the debugging experience on Fedora by making the debugger more powerful. Note that, while all this code will eventually go into the upstream gdb, that process is very slow. Shipping Archer will put Fedora on the cutting edge here.
Scope
The Fedora-related changes are reasonably small. Essentially, the gdb package must be updated to require python-devel, and the gdb patches must be rebased on a later gdb.
We'll also be shipping some application- or library-specific pretty-printers. This functionality relies on the Python support. Currently we have printers for most of the containers in libstdc++; those will be integrated there.
How To Test
Testing is done using the gdb test suite. Archer ships tests for the Python work. A simple smoke test can be done by starting the resulting gdb and verifying that the "python" command works, e.g.: "python print 23"
User Experience
The most obvious change will be that libstdc++ classes will pretty-print nicely by default. For power users, Python scripting will open many more debugging possibilities.
Dependencies
I think this work is relatively self-contained.
The libstdc++ work amounts to just installing one more file in the appropriate place.
Contingency Plan
None necessary. We can just ship plain gdb.
Documentation
The Archer branches include updates to the gdb manual.
Release Notes
TBD
Comments and Discussion