Tru64 UNIX
Ladebug Debugger Manual


Previous Contents Index

Appendix B
Appendix B Using Ladebug Within the DEC FUSE Environment
     B.1     Starting and Configuring the Debugger Within the DEC FUSE Environment
     B.2     Differences in the DEC FUSE Debugger Main Window
     B.3     Editing Your Program
Appendix C
Appendix C Writing a Remote Debugger Server
     C.1     Reasons for Using a Remote Debugger
     C.2     Alternatives to Using a Remote Debugger
     C.3     The Structure of a Remote Debugger
     C.4     Types of Targets
     C.5     Ladebug as a Remote Debugger
         C.5.1         Target and Programming System Requirements
         C.5.2         The Protocol
         C.5.3         Starting a Remote Debugger Session
         C.5.4         Ending a Remote Debugger Session
     C.6     Example Servers
         C.6.1         The Tru64 UNIX Server
         C.6.2         Evaluation Board Server
         C.6.3         Structure of the Servers
         C.6.4         Creating a Server for a New Target
     C.7     The Communicators
         C.7.1         Communicator Interface Functions
         C.7.2         Tru64 UNIX Communicator
         C.7.3         Evaluation Board Monitor
         C.7.4         Porting the Communicators to Other Systems
     C.8     The Protocol Handler: Interface Functions and Implementation
     C.9     The Debugger Kernels
         C.9.1         The Debugger Kernel Interface Functions
         C.9.2         Tru64 UNIX Server Debugger Kernel
         C.9.3         Evaluation Board Server
             C.9.3.1             Initialization
             C.9.3.2             Setting Breakpoints
             C.9.3.3             Hitting a Breakpoint or an Exception
             C.9.3.4             Receiving and Processing Commands
             C.9.3.5             Continuing from a Breakpoint or Exception
             C.9.3.6             Interrupt Handling
         C.9.4         Porting the Debugger Kernels to Other Systems
     C.10     The Breakpoint Table Handler: Interface Functions and Implementation
     C.11     Ladebug Remote Debugger Protocol
         C.11.1         Messages and Message Formats
             C.11.1.1             Message Headers
             C.11.1.2             Message Values
             C.11.1.3             Load Process Request and Response
             C.11.1.4             Responses to the Load Process Request
             C.11.1.5             Connect to Process Request and Response
             C.11.1.6             Connect to Process Insist Request and Response
             C.11.1.7             Probe Process Request and Response
             C.11.1.8             Disconnect from Process Request and Response
             C.11.1.9             Stop Process Request and Response
             C.11.1.10             Kill Process Request and Response
             C.11.1.11             Continue Process Request and Response
             C.11.1.12             Step Request and Response
             C.11.1.13             Set Breakpoint Request and Response
             C.11.1.14             Clear Breakpoint Request and Response
             C.11.1.15             Get Next Breakpoint Request and Response
             C.11.1.16             Get Registers Request and Response
             C.11.1.17             Set Registers Request and Response
             C.11.1.18             Read Request and Response
             C.11.1.19             Write Request and Response
         C.11.2         Order of Messages
         C.11.3         Recovering from Packet Loss
     C.12     Transport Layer
Index
Index
Examples
2-1 Listing Source Code in a Number Range
2-2 Listing Source Code By Counting from a Starting Line
2-3 Displaying Information on Each Activation Level
2-4 Displaying a Variable's Scope
2-5 Determining Overloaded Identifiers
2-6 Examining Data Items in a COBOL program
2-7 Determining the Type of a Variable
2-8 Printing Values of an Array
2-9 Printing Individual Values of an Array
2-10 Dereferencing a Pointer
2-11 Depositing a Value in an Expression
2-12 Assigning Values to a Variable and an Expression
2-13 Displaying the Stack Trace in a COBOL Program
2-14 Using the file Command
2-15 Using the func Command
3-1 Using the run, rerun, and cont Commands to Control Program Execution
3-2 Continuing Program Execution
3-3 Stepping Through Program Execution
3-4 Using the return Command
3-5 Branching to a Specified Line
3-6 Calling a Function from the Debugger Prompt
3-7 Embedding a Function Call in an Expression
3-8 Nesting Function Calls
3-9 Using the status Command to Display Breakpoints
3-10 Setting a Breakpoint on a Variable
3-11 Setting a Breakpoint at a Line in C Source Code
3-12 Setting a Breakpoint at an Address in the Source Code
3-13 Setting a Breakpoint in a Function
3-14 Setting a Breakpoint at the Start of an Ada Procedure
3-15 Setting a Conditional Breakpoint
3-16 Setting a Conditional Breakpoint in a Function
3-17 Disabling Breakpoints
3-18 Enabling Breakpoints
3-19 Setting a Breakpoint That Executes a Stack Trace
3-20 Setting a Breakpoint That Executes Multiple Commands
3-21 Deleting Breakpoints
3-22 Setting a Tracepoint
3-23 Setting a Conditional Tracepoint
3-24 Tracing Variables
3-25 Setting a Watchpoint on an Address
3-26 Setting a Watchpoint on an Address Range
3-27 Setting a Watchpoint on an Address to Detect Read Access
3-28 Setting a Watchpoint on an Address with an Expression
3-29 Using the Watch Memory Alias to Set a Watchpoint on an Address Range to Detect Any Access
3-30 Setting a Watchpoint on a Variable
3-31 Setting a Conditional Watchpoint for a Variable
3-32 Using the Watch Variable Alias to Set a Conditional Watchpoint and Execute Commands
3-33 Catching Unaligned Access
5-1 Setting the Class Scope
5-2 Displaying Class Information
5-3 Displaying Object Information
5-4 Displaying Static Type Information
5-5 Displaying Dynamic Type Information
5-6 Displaying Inherited Class Members
5-7 Resolving References to Objects of Multiple Inherited Classes
5-8 Resolving Overloaded Functions by Selection Menu
5-9 Resolving Overloaded Functions by Type Signature
5-10 Setting Breakpoints in Member Functions
5-11 Setting Breakpoints in Virtual Member Functions
5-12 Setting Breakpoints in Member Functions for a Specific Object
5-13 Setting Breakpoints in Specific Overloaded Functions
5-14 Setting Breakpoints in All Versions of an Overloaded Function
5-15 Setting Breakpoints in Overloaded Functions by Line Number
5-16 Setting Breakpoints in Constructors
5-17 Setting Breakpoints in Destructors
5-18 Example of a Function Template
5-19 Setting a Breakpoint in the Template Function
5-20 Displaying an Instantiated Class Template
5-21 Setting Current Class Scope to an Instantiated Class
5-22 Setting Breakpoints in Exception Handlers
5-23 Printing a Class Description in Verbose Mode
8-1 Sample COBOL Program
8-2 Sample COBOL Debugging Session
9-1 Debugging a Multiprocess Application - Loading an Image File and Showing Processes
9-2 Debugging a Multiprocess Application - Switching Between Processes
9-3 Default Settings for Predefined Variables
9-4 Debugging a Forked Process - Showing the Child Process
9-5 Debugging a Forked Process - Changing the Process Context
9-6 Debugging a Forked Process - Rerunning the Program
9-7 Debugging a Forked Process with Parent and Child Processes Stopped
9-8 Debugging a Forked Process - Switching to the Parent Process
9-9 Debugging a Process That Execs
9-10 Debugging a Process That Execs - Setting Breakpoints
10-1 Displaying Condition Variable Information
10-2 Displaying Mutex Information
11-1 Debugging a Core File
11-2 Debugging a Multithreaded Kernel Core File
12-1 A Sample .dbxinit File
12-2 Debugger Startup Using a .dbxinit File
12-3 Recording a Debugger Script
12-4 Executing a Debugger Script
14-1 Setting Breakpoints in a C++ Program Compiled and Linked with -g2
14-2 Setting Breakpoints in a C++ Program Compiled with -g2 and Linked with -x
14-3 Listing the Source Code of a C++ Program Compiled and Linked with -g2
14-4 Displaying the Stack Trace of a C++ Program Compiled and Linked with -g2
14-5 Displaying the Stack Trace of a C++ Program Compiled with -g2 and Linked with -x
14-6 Setting Breakpoints on Routines in a C Program Compiled and Linked with -g2
14-7 Setting Breakpoints on Routines in a C Program Compiled with -g2 and Linked with -x
14-8 Listing the Source Code of a C Program Compiled and Linked with -g2
14-9 Listing the Source Code of a C Program Compiled with -g2 and Linked with -x
14-10 Displaying the Stack Trace of a C Program Compiled and Linked with -g2
14-11 Displaying the Stack Trace of a C Program Compiled with -g2 and Linked with -x
14-12 Setting Breakpoints on Static and Global Routines in a C++ Program Compiled and Linked with -g2
14-13 Setting Breakpoints on Static and Global Routines in a C++ Program Compiled with -g2 and Linked with -x -r
14-14 Listing the Source Code of a C++ Program
14-15 Displaying the Stack Trace of a C++ Program Compiled and Linked with -g2
14-16 Displaying the Stack Trace of a C++ Program Compiled with -g2 and Linked with -x -r
14-17 Printing Variables of a C++ Program Compiled and Linked with -g2
14-18 Printing Variables of a C++ Program Compiled with -g2 and Linked with -x -r
14-19 Setting Breakpoints on Static and Global Routines in a C++ Program with Various -x and -r flags
14-20 Listing the Source Code of a C++ Program with Various -x and -r Flags
14-21 Displaying the Stack Trace of a C++ Program with Various-x and -r Flags
14-22 Setting a Breakpoint on an Unknown Routine in a C++ Program with Various -x and -r Flags
15-1 Disassembling Values Contained in a Range of Addresses
15-2 Using Pointer Arithmetic to Display and Change Values in Memory
15-3 Printing Machine Registers on the Tru64 UNIX Alpha Platform
15-4 Stepping Through Program Execution One Machine Instruction at a Time
REF-1 Entering Multiple Commands on a Single Line
REF-2 Creating an Alias
REF-3 Defining an Alias with a Parameter
REF-4 Nesting Aliases
REF-5 Executing an Operating System Command
REF-6 Displaying an Identifier Using an Operating System Command
REF-7 Specifying a Debugger Prompt


Previous Next Contents Index