Guardian Procedure Calls Reference Manual (G06.25+)

Guardian Procedure Calls (P)
Guardian Procedure Calls Reference Manual522629-013
12-57
PROCESS_DEBUG_ Procedure
Issuing a DEBUG command to a TACL process running at another local
terminal.
You can use Inspect 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 flags 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 PROCESS_CREATE_, PROCESS_SPAWN_,
NEWPROCESS, NEWPROCESSNOWAIT, OSS
tdm_fork(), OSS
tdm_spawn(), or one of the OSS tdm_exec set of functions.
Processes inherit the Inspect attribute from their ancestor processes.
Calling PROCESS_DEBUG_ and passing no parameters (or specifying only the
callers process handle) is not the exact equivalent of calling the DEBUG
procedure. Some processes (in particular, system processes) would need to
specify the
now parameter as equal to 1 (the default is 0). DEBUG, which has no
now parameter, functions as if it had a now parameter set equal to 1.
In general, the preferred method for a process to invoke the debug facility on itself
is to call DEBUG rather than to call PROCESS_DEBUG_.
OSS Considerations
When used on an OSS process, PROCESS_DEBUG_ forces the process into the
Inspect debugger. You can change the home terminal by specifying
terminal-name.
Note that the home terminal is often the same device as the OSS controlling terminal.
To debug an OSS process, one of the following must be true:
The calling process must have the appropriate privileges; 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 “non-remoteness”: that is, the caller is locally
authenticated, or the target process is remotely authenticated and the caller is