Native Inspect Manual (H06.03+)

Table Of Contents
Introducing Native Inspect
Native Inspect Manual528122-003
1-16
Using One Instance of Native Inspect to Debug
Multiple Processes
Using One Instance of Native Inspect to Debug Multiple
Processes
You need to be mindful of which process is the current process (as indicated by the
CPU pin in the eInspect prompt). With Native Inspect, most debugging options (such
as the directory search path) are defined as attributes of the debugger instance, not as
values associated with the current process.
Suppose that you are debugging two interacting processes. If you are stepping
execution in process A, which causes a breakpoint in process B to be hit, process B
becomes the current process. Advancing execution in process B might then result in
completion of the step of process A, causing it once again to be the current process.
In this situation, you will see the process ID of process A (3,301) displayed in the
Native Inspect prompt, and then the process ID of process B in the next prompt from
Native Inspect (3,38). For example:
(eInspect 3,301): step
(eInspect 3,38):
Considerations for Multi-Process Debugging
Native Inspect can debug only those processes that are executing in the same
CPU in which the instance of Native Inspect is running.
For example, if a TNS/E native process running in CPU 3 calls Debug, and Native
Inspect is invoked as the debugger, the instance of Native Inspect must run in CPU
3.
Native Inspect checks only for events at times when events are expected for the
current process—such as after process execution commands (or the wait
command). Native Inspect cannot receive events while prompting for user input.
Debugging events that occur for other processes are not necessarily reported
when they occur, but are reported after you enter a process-control command
(such as continue, step, or next) or the wait command.
Pressing the Break key interrupts waiting for a debugging event and redisplays the
Native Inspect command prompt, but cannot be used to interrupt other commands.
When debugging multiple programs, Native Inspect, like Inspect, sets the
designated current process to be the process for which the most recent debugging
event has been reported. The current process is the process to which all
commands apply and for which Native Inspect waits for events.
Use the vector command to explicitly change the designated current process.
In a rare situation, two instances of Native Inspect can be running on different
CPUs but be prompting the same home terminal. In this situation, you should:
°
Start another Native Inspect on that CPU.
°
Attach to the process from the new Native Inspect.