DCE Application Programming Guide

Building, Running, and Debugging NonStop DCE
Applications
HP NonStop DCE Application Programming Guide429551-003
4-7
Starting Programs in Inspect, Native Inspect, or
Visual Inspect
Starting Programs in Inspect, Native Inspect, or Visual Inspect
You can use the OSS shell run command to start a program in the Inspect symbolic
debugger (on TNS/R systems) or Native Inspect synbolic debugger (on TNS/E
systems). For example, to start the my_server program in Inspect on a TNS/R
system, you could enter:
run -debug -inspect=on my_server
On a TNS/E system, this command could start the my_server program in Native
Inspect.
Use the runv command to start a program in Visual Inspect on either system. For
example, to start the my_server program in Visual Inspect, you could enter:
runv my_server
For additional information about starting programs in Inspect or Native Inspect using
the OSS shell run command or in Visual Inspect using the runv command, see the
Open System Services Shell and Utilities Reference Manual.
Debugging With Threads
You should consider these thread-related issues when debugging NonStop DCE
applications:
Process Blocking With Debugging on page 4-7
Difficulty in Debugging Multiple Application Threads on page 4-8
Process Blocking With Debugging
Debugging a NonStop DCE program can significantly alter the external behavior of the
program because the process is blocked while under control of the debugger (for
example, at an Inspect breakpoint). This blocking also prevents other threads in the
process from executing, including other application threads and time-critical run-time
threads. For example:
When debugging a client program that uses the RPC datagram protocol, the
client’s context handles can become invalid.
When debugging a server program:
°
The server’s endpoint map entries can be prematurely deleted by the endpoint
map service.
°
If the program uses the RPC datagram protocol, remote procedure calls to the
server can fail because of a timeout condition.
For additional information on the effect of blocking time-critical run-time threads, see
Threading in DCE Run-Time Code on page 3-3.