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

Using Native Inspect
Native Inspect Manual—528122-003
2-4
Loading Symbols Information (If Necessary)
Scope of Symbol Files: Global versus Per-Process
When Native Inspect loads a symbol file, by default the symbols are available only to
the current process. Such a symbol file has per-process scope.
Specifying the -g (global) option when loading a symbol file gives the symbol file
global scope. The symbols are then available to all processes being debugged.
Symbol files with global scope are useful for NonStop system symbols and for shared
DLLs.
For example, if you want a symbol file to be associated with a shared DLL or library,
the symbol file needs to have global scope. Include the -g (global) option in your
symbol-file command or add-symbol-file command.
Any given symbol file can be loaded as both a global scope symbol file and a per-
process scope symbol file.
Load Address of Symbol Files
Symbols are read in and assigned addresses based on the actual load address of the
corresponding loadfile, if it can be determined. Otherwise, the symbol addresses are
based on the preferred load address of the loadfile argument.
To override the preferred load address, use the add-symbol-file command and specify
the address at which the loadfile is loaded or where you expect it to be loaded. You
should do this when a DLL is loaded at a different address than the preferred load
address. The info command with the dll option displays the names of the loaded
loadfiles along with related information, including the addresses at which they are
loaded.
Considerations for Locating Symbols
•
Native Inspect does consistency checking of symbol files. That is, if you load
symbols from another file, Native Inspect checks versions or timestamps between
the object file you specify and the object file being executed.
•
When Native Inspect does not display source file and line number information for a
stack frame, symbols are most likely unavailable for that frame.
•
Native Inspect looks for symbols from symbol files associated with the current
process. These symbol files can have global scope or per-process scope.
How Native Inspect Locates Files
When automatically started as the selected debugger, Native Inspect, like Inspect,
uses your logon default subvolume (not your current working subvolume or directory)
as its default subvolume. The current working directory contains the process being
debugged.










