Guardian Procedure Calls Reference Manual (G06.25+)
Guardian Procedure Calls (D-E)
Guardian Procedure Calls Reference Manual—522629-013
4-7
DEBUG Procedure
•
Starting the process from the command interpreter. While the process is
executing, press the BREAK key. The command interpreter returns to the
command input mode. Find the
cpu,pin of the process, and type in DEBUG
cpu,pin.
•
Specifying a breakpoint when a process is in the debug state. When that
breakpoint is hit, the process enters the debug state.
•
You can use the Inspect debugger by setting the Inspect attribute associated with a
process. The value of a process’s Inspect attribute can be set with:
•
The ?INSPECT or ?SAVEABEND TAL compiler directive
•
The nld -SET INSPECT or -SET SAVEABEND commands during a linking
session
•
The Binder SET INSPECT or SET SAVEABEND commands during a binding
session
•
The TACL SET INSPECT command before the RUN command that starts the
process
•
The INSPECT parameter of the RUN command that starts the process
•
The appropriate option in the call to PROCESS_CREATE_,
PROCESS_SPAWN_, NEWPROCESS, NEWPROCESSNOWAIT, OSS
tdm_fork(), OSS tdm_spawn() or one of the OSS tdm_exec set of
functions, that starts the process.
•
Processes inherit the Inspect attribute from their ancestor processes.
OSS Considerations
When used on an OSS process, DEBUG forces the process into the Inspect debugger.
To debug an OSS process, one of the following must be true:
•
The calling process must have appropriate privilege; that is, it must be locally
authenticated as the super ID on the system where the target process is executing.
•
All the following apply:
•
The caller’s effective user ID is the same as the saved user ID of the target
process.
•
The caller has sufficient “nonremoteness”; that is, the caller is locally
authenticated, or the target process is remotely authenticated and the caller is
authenticated from the viewpoint of the system where the target process is
executing.
•
The caller has read access to the program file and any library files.
•
The program does not contain PRIV or CALLABLE routines.
•
The target is not a system process.