Accelerator Manual (G06.24+, H06.03+)
Debugging Accelerated Programs
Accelerator Manual—527303-002
7-4
A Strategy for Debugging
•
If the program runs incorrectly on a TNS system, the problem is in your
program logic.
•
If the program runs correctly on TNS systems and incorrectly on TNS/R
systems, the problem is almost certainly a TNS/R variance in your program. In
this case, examine your program for variances described in Section 2,
Preparing Your Program for TNS/R Systems.
•
After checking to makes sure that the problem is not caused by a variance
between TNS and TNS/R systems, accelerate the program again and, specify the
Safe option. The Safe option generates code that makes an accelerated program
behave as much as possible like a program that has not been accelerated.
•
If the program runs correctly, the problem is almost certainly caused by an
incorrectly specified Accelerator option. In this case, examine your program for
variances described in Section 5, Setting Accelerator Options.
•
If the program runs incorrectly, the problem is almost certainly a variance in
your program that applies to accelerated programs only. In this case, examine
your program for variances described in Section 3, Preparing Your Program for
the Accelerator. Also, make sure that you have specified correct information in
any ReturnValSize, InheritsR, and ReturnsR options. If you previously
suppressed warning messages, reaccelerate without message suppression
and consider carefully all the warnings the Accelerator produces for you.
If your program runs correctly on a TNS system but does not run correctly on a TNS/R
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).