Inspect Manual

Using Inspect With TNS/R Native Programs
Inspect Manual429164-006
17-4
Using Inspect to Debug TNS/R Native Programs
The compiler performs most optimizations. Statement boundaries are blurred as the
compiler moves instructions corresponding to one statement into forward or backward
statements. Inspect emits a warning if it finds a statement containing code for a
backward statement that has not been executed.
Using Inspect to Debug TNS/R Native
Programs
The following subsections provide information about using Inspect to debug TNS/R
native programs. Section 6, High-Level Inspect Commands, provides complete syntax
and detailed explanations of all commands discussed in this section.
SRLs
Inspect supports native SRLs (shared run-time libraries) on TNS/R systems. You can
set code and data breakpoints in SRLs per process, create save files for applications
that use SRLs, and display and modify identifiers from SRLs.
An SRL is an object file that the operating system links to a program file at run time. C,
C++, TAL, and pTAL programs can have a user library. On a TNS/R system, there are
two types of user libraries: TNS user libraries and TNS/R native user libraries. TNS
user libraries can be called by TNS and accelerated processes. TNS/R native user
libraries can be called by TNS/R native processes.
Table 17-1. Optimization Levels
Level Optimization Performed Debugging Capabilities
0 None. Variables are loaded into
registers, calculations are
performed, and variables are
immediately updated in memory.
Statement boundaries are
maintained. Delay slots in
instructions sequence are filled
with no-operation instructions.
Full source-level debugging capability.
Inspect sets code and data breakpoints
and steps similar to TNS processes.
1 Most optimizations performed.
Statement boundaries are
blurred. Instructions are moved
forward and backward to fill
delay slots.
Nearly full source-level debugging
capability. Inspect makes a best-guess
at where statements begin and end.
Inspect emits a warning if finds a
statement for which some code
associated with a previous statement that
has yet to execute.
2 The compiler performs all of its
possible optimizations.
Limited source-level debugging
capabilities. Statements may have been
deleted and/or merged with other
statements.