For More Information
Typographical Conventions
Special Notes
Technical Support
LynuxWorks U.S. Headquarters
LynuxWorks Europe
World Wide Web
Included Components
GDB
GDBServer
Insight
SSPP
SKDB
User Process Debugging vs. Kernel/Device Driver Debugging
Local Debugging versus Remote Debugging
Local Debugging
Remote Debugging
Total/db Configuration Options
Supported Languages
Source Code
The GNU Source Level Debugger
GDB as Free Software
Controlling GDB
Prompt
Command Editing
Command History
Screen Size
Numbers
Optional Warnings and Messages
Getting In and Out of GDB
Invoking GDB
Quitting GDB
Shell Commands
GDB Commands
Command Syntax
Command Completion
Getting Help
Running Programs under GDB
Compiling for Debugging
Starting Your Program
Your Program's Arguments
Your Program's Environment
Your Program's Working Directory
Your Program's Input and Output
Debugging an Already-Running Process
Killing the Child Process
Debugging Programs with Multiple Threads
Debugging Programs with Multiple Processes
Stopping and Continuing
Breakpoints, Watchpoints, and Exceptions
Continuing and Stepping
Signals
Stopping and Starting Multithread Programs
Examining the Stack
Stack Frames
Backtraces
Selecting a Frame
Information about a Frame
MIPS Machines and the Function Stack
Examining Source Files
Printing Source Lines
Searching Source Files
Specifying Source Directories
Source and Machine Code
Examining Data
Expressions
Program Variables
Artificial Arrays
Output Formats
Examining Memory
Automatic Display
Print Settings
Value History
Convenience Variables
Registers
Floating Point Hardware
Using GDB with Different Languages
Switching between Source Languages
Displaying the Language
Type and Range Checking
Supported Languages
Examining the Symbol Table
Altering Execution
Assignment to Variables
Continuing at a Different Address
Giving Your Program a Signal
Returning from a Function
Calling Program Functions
Patching Programs
GDB Files
Commands to Specify Files
Errors Reading Symbol Files
Specifying a Debugging Target
Active Targets
Commands for Managing Targets
Remote Debugging
Stored Command Sequences
User-Defined Commands
User-Defined Command Hooks
Command Files
Commands for Controlled Output
Using GDB under GNU Emacs
Command Line Editing
Introduction to Line Editing
Readline Interaction
Readline Init File
Using History Interactively
History Interaction
Overview
Debugging POSIX Threads
Understanding Thread Numbers
Browsing and Switching Threads
Setting a Breakpoint
Resuming Threads
Debugging Embedded Applications Remotely
Using the Target Command
Debugging Remote Targets
Supported Protocols for Remote and ExtendedRemote Targets
Starting the Remote Target
Target's Environment
Postmortem Debugging of Dynamically Linked Programs
Debugging Shared Libraries
Creating a Shared Library for Debugging Purposes
Loading Shared Library Symbol Information
Deferred Breakpoints
Shared Library File Path Names
Symbol Table
Single-Stepping into a Shared Library Function
Summary of Additional Commands for Shared Library Support
Debugging Kernel/Device Drivers
Requirements
Building a Kernel for Debug Purposes
Debugging the Kernel
Loading Device Drivers Dynamically
Raw SKDB Commands
Proxy Server
Syntax
Installation
General Tips and Miscellaneous Issues
Reading and Writing Large Memory Blocks
Browsing Target Process's Environment
Executing Remote Shell Commands
Function Calls in a Multithreaded Process
Functions Calls after Ctrl+C
Resuming after a Blocking System Call
Debugging a Signal-Intensive Process
Source Window
Toolbar Buttons
Special Display Pane Features
Using the Mouse in the Display Pane
Below the Horizontal Scroll bar
Dialog boxes for the Source Window
Stack Window
Registers Window
Memory Window
Memory Preferences Dialog Box
Watch Expressions Window
Add Watch Button
Watching Registers
Casting Pointers in the Watch Expressions Window
Local Variables Window
Breakpoints Window
Console Window
The Function Browser Window
Help Window
Tutorials for Debugging with Insight
Initializing a Target Executable File
Console Window with Initial Commands
Setting Breakpoints and Viewing Local Variables
Overview
Installing/Removing SKDB
Installing SKDB
Removing SKDB
Using SKDB
SKDB Prompt
Starting SKDB Automatically after a Kernel Crash or Panic
Breaking into SKDB with Hot Key
Kernel Status Display
Kernel Status Redisplay
Stack Trace Display
Verbose Trace Mode
Process, Thread, and Other Displays
Resuming the Kernel
Setting Breakpoints
Single-Stepping
Disassembly
Setting Watchpoints
SKDB Commands
General Notes
Parameter Validation
Symbol Information
Address Expressions
Default Virtual Address Space
Remote Debugger Interface Protocol
GNU General Public License
Preamble
Terms & Conditions for Copying, Distribution and Modification
How to Apply these Terms to Your New Programs
Contributors to GNU CC
Protect Your Freedom; Fight "Look And Feel"