Native Inspect Manual (H06.13+, J06.03+)
This command starts Native Inspect on the home terminal of the process $myproc.
You can optionally specify a home terminal on which you want Native Inspect to run, as follows:
TACL> debug $myproc, term $ztn10.#pthef
In OSS, enter a DEBUG command that includes the CPU and process numbers of the process you
want to debug as follows:
OSS> debug 5,135, term $myterm
Native Inspect gains control of the running process subject to the NonStop debugging rules
(described in Debugger Selection Criteria (page 20)).
For example, if a process is executing privileged code, the process must return to nonprivileged
code before a nonprivileged debug request completes. If you are logged on as the super ID
(255,255), you can enter the DEBUGNOW command, which immediately gives you access to the
specified process, even if it is running privileged code.
Invoking the Debugger From a Running Process
Native Inspect is automatically started by the NonStop operating system when a debugger is
required for any of the following reasons:
• TNS/E native process code calls the PROCESS_DEBUG_ or DEBUG procedure.
• A TNS/E native process encounters a breakpoint set by a prior debugging session.
• The user of another debugger switches to Native Inspect.
When a running process invokes a debugger, the operating system automatically selects a debugger
according to the debugger options you set (INSPECT ON or OFF) in addition to the process type
(TNS versus TNS/E) and the availability of a connection to Visual Inspect, which is the preferred
debugger on TNS/E systems.
Debugger Selection Criteria
The following two figures illustrate the criteria that are evaluated during debugger selection:
• Figure 2 (page 21)
• Figure 3 (page 22)
In both Figure 2 and Figure 3, debugger selection criteria are defined as follows:
INSPECT is set to ON for the process you will debug (set with TACL, the linker, or
the RUN[D] command).
Is the INSPECT attribute on?
You have started Visual Inspect and have connected to the TNS/E host on which
the process to be debugged will run. The user ID of the process must match the user
ID that was used to log on to Visual Inspect.
Is this a Visual Inspect session?
The Inspect subsystem (IMON, DMON, $DMnn) is running, and the Inspect
command-line interface is available.
Is Inspect available?
To summarize, Native Inspect is selected as the debugger under the following conditions:
• For TNS/E native processes when you have not established a Visual Inspect connection to the
NonStop host, or the INSPECT attribute is OFF (Figure 2).
• For TNS processes when the Inspect subsystem is not running (that is, neither Visual Inspect
nor Inspect is available) (Figure 3). Note, however, that Native Inspect has only limited
capabilities for debugging TNS processes. See Debugging TNS Processes (page 27) for more
information.
20 Introducing Native Inspect










