Native Inspect Manual (H06.03+)
Table Of Contents
- What’s New in This Manual
- About This Manual
- 1 Introducing Native Inspect
- Native Inspect on TNS/E Systems
- Debuggers on NonStop TNS/E Systems
- Origins of Native Inspect
- Process Debugging With Native Inspect
- Debugging Multiple Processes
- Global Debugging
- Debugging TNS Processes
- Snapshot File Analysis
- Debugging DLLs
- Handling Events
- Switching Debuggers (To or From Inspect and Visual Inspect)
- Stopping Native Inspect
- Differences Between Native Inspect and WDB and GDB
- 2 Using Native Inspect
- Quick Start for Inspect Users
- Preparing to Debug Using Native Inspect
- Sample Native Inspect Session
- Start Your Program Under Native Inspect
- Load Symbols
- Determine Compilation-Time Source Name
- Set Source Name Mapping
- Add Current Directory to Source Search Path
- List Source
- Set a Breakpoint on main()
- Continue Execution
- Trace the Stack (Back Trace)
- List Source
- Step Execution (Over Any Function Calls)
- Print a Variable
- Step Execution (Over Any Function Calls)
- Step In to a Called Function
- Set a Memory Access Breakpoint (MAB)
- Trace the Stack (Back Trace)
- List Source
- Continue Listing Source
- Set a Breakpoint on Line 52
- Continue Execution
- Display a Structure
- Enable “pretty” Printing
- Modify a Structure Field
- Terminate Program and Session
- 3 Syntax of Native Inspect Commands
- Categories of Native Inspect Commands
- Syntax of Common Command Elements
- # command
- a command
- add-symbol-file command
- amap command
- attach command
- base command
- break command, tbreak command
- bt command
- can command
- cd command
- commands command
- comment command
- condition command
- continue command
- d command
- delete command
- delete display command
- detach command
- dir command
- disable command
- disable display command
- disassemble command, da command
- display command
- dmab command
- down command, down-silently command
- enable command
- enable display command
- env command
- eq command
- exit command
- fc command
- files command
- finish command
- fn command
- frame command, select-frame command
- help command, help option
- hold command
- i command
- ignore command
- ih command
- info command
- jb command
- jump command
- kill command
- list command
- log command
- ls command
- mab command
- map-source-name command
- mh command
- modify command
- next command, nexti command
- nocstm option
- output command
- print command
- priv command
- ptype command
- pwd command
- quit command
- reg command
- save command
- select-frame command
- set command (environment)
- set command (variable)
- show command
- snapshot command
- source command
- step command, stepi command
- switch command
- symbol command, symbol-file command
- tbreak command
- tj command, tu command
- tn command
- unload-symbol-file command
- until command
- up command, up-silently command
- vector command
- version option
- vq command
- wait command
- whatis command
- x command
- 4 Using Tcl Scripting
- A Command Mapping With Debug and Inspect
- Glossary
- Index
Introducing Native Inspect
Native Inspect Manual—528122-003
1-15
Using a Separate Instance of Native Inspect for
Each Process
Example of Using Multiple Instances of Native Inspect
You are running Native Inspect in CPU 3 and are debugging the process
$DISK1.MYSUBVOL.MYPROG (CPU,pin=3,301). A second debugging target named
$DISK2.SVOL2.YOURPROG (CPU,pin=3,32) is assigned to your instance of Native
Inspect.
After a debugging event is reported for the new current process, the command prompt
indicates that the current process has changed:
(eInspect 3,301):
< debugging event is reported here >
(eInspect 3,32):
To have a separate Native Inspect instance for each process being debugged, you
need to attach the new process (3,32) to a new Native Inspect instance, and then
detach the process from the original Native Inspect instance:
1. Start a second Native Inspect instance in a different terminal session but running
on the same CPU:
TACL > einspect / cpu 3/
(eInspect 3,-2):
2. Using this new Native Inspect instance, enter an attach command, specifying the
process ID of the process you want to transfer:
(eInspect 3,-2): attach 32
The attach command does not complete until you perform the final step (detach).
3. Using the original Native Inspect instance, enter the detach command, which
releases the new process to the attaching Native Inspect instance and allows the
original process back to its original instance of Native Inspect::
(eInspect 3,32): detach
The display on the new terminal session reveals that the attach has completed,
and process 3,32 is the current process for the new instance of Native Inspect:
(eInspect 3,-2): attach 32
Symbols read in for program loadfile
\PIPPIN.$D0117.TESTS.ODISP3.
Process (3,32) received DS_EVENT_ENTER_DEBUG
(eInspect 3,32):
Now you have two instances of Native Inspect—one attached to each of the two
programs being debugged in CPU 3.










