Object Code Accelerator Manual

Debugging OCA Programs
Object Code Accelerator Manual528144-003
7-3
A Strategy for Debugging
When your program executes in TNS accelerated mode, the debugger allows you to
set breakpoints only at exact points. Displaying memory variables provides accurate
results at all exact point. You may only use Inspect debugging commands that modify
memory or display registers in the TNS register stack at register-exact points. If the
program is not at a register-exact point, modifying memory variables may not affect the
program’s subsequent actions as the variable values might have already been loaded
into the TNS/E registers.
When executing in TNS accelerated mode at code locations that are between exact
points, the TNS program state is not consistent, displayed memory may not be current,
and the reported current program counts is only approximate. If you try to manually
modify memory when between exact points new data may be ignored by a subsequent
store operation.
If your accelerated object code behaves differently on a TNS/E system than it did on a
TNS/R system:
Try running the program on a TNS/R system without using OCA.
If the program runs incorrectly on a TNS/R system, the problem is in your
program logic.
If the program runs correctly on a TNS/R system and incorrectly on a TNS/E
system, the problem is almost certainly a TNS/E variance in your program. In
this case, examine your program for variances described in Section 2,
Preparing Your Program for TNS/E Systems.
If your program runs correctly on a TNS system but does not run correctly on a TNS/E
system, accelerated or unaccelerated, the problem might be a timing error. This is rare
and only affects such timing-sensitive programs as input-output processes (IOPs).