v0.3
gdb - customize it the way
you
want
[Click here to start]
This lecture is also available in
one big HTML file
.
Table of contents
Making gdb do more (debugging) for less (re-typing)
Compiling C/C++ Programs For gdb Support
basic gdb commands - just to "clear the line"
Running And Stopping
Running And Stopping - cont.
Examine execution stack and variables
Examine The Source Code
Break-Point Basics
Beautifying Output (make gdb closer to its GUIs)
the display command
pretty printing
Current Frame Information
print/<base>
examining memory with 'x'
Convenience Variables
A Silly Feature - TUI
50 Ways To Supply Program Parameters..
The Annoying C-Preprocessor Macros
Program Execution Control
Finish And Until
return
Conditional Break-Points
Other Break-Point Commands
Watch-Points
Hardware Vs. Software Watch-Points
I Want To Do This - Again!
Where Have My Source Files Gone?
gdb user-commands support
Convenience Macros To Scan Data Structures
Writing The 'access_data_first' Macro
Writing The 'access_data_next' Macro
Writing The 'access_data_next' Macro
Writing The 'access_data_at' Macro
Command Hooks
Program Execution run/stop Hooks
gdb and signals handling
gdb - default signals handling
default signals handling - cont.
Changing Handling Of Signals
passing signals to programs
Multi-Threading Features In gdb
Viewing Thread Stacks
Controlling Thread Scheduling
Disabling The Scheduler
Thread-Specific Break-Points
Naming Names - How?
Naming Names - Using macros+logging+Perl
Thread, LWP and 'top' with 'H'
Debugging Multiple-Processes (forked) Programs
follow-fork setting
detach-on-fork setting
Controlling Forked Processes
Debugging Shared Libraries
Debugging Python C Modules
References
Originally written by
guy keren