I am trying to debug a CICS program say B . Program A links program B . When i am invoking the transaction, Program A is invoked and when the control goes to the line where i call B , control comes out immediately with a error return code .
I have tried using INTERCEPT and SOURCE commands but both the commands takes the control inside the program and comes out of B program immediately .
Please let me know how can we debug the Program B step by step ?
Joined: 06 Jun 2008 Posts: 8214 Location: Dubuque, Iowa, USA
You did not post nearly enough information to provide complete help. However, I can tell you that if program B is written in a language for which your site did not purchase Xpediter language support from Compuware (such as Assembler, for example) then the behavior you are seeing is normal and expected for such a case.
If your site did purchase Xpediter for the language program B is written in, then it is possible that program B was not compiled to allow use of Xpediter (in which case you need to recompile program B).
For anything else, you will need to work with your site support group since they understand your environment and know how Xpediter was installed and the languages it supports at your site. Only someone working at your site is going to be able to help you get the debug of program B working -- assuming that it turns out to be possible to use Xpediter on program B, of course.
When you use SOURCE, you still have to set a breakpoint.
So, when you get stopped inthe calling program, THEN do the SOURCE command, then scroll down and place a breakpoint on the first good line.
It may be that the subroutine is not available in the DDIO file. Was it compiled in a way that makes it appear there? We currently use Debug Tool, and all of our SCLM compiles build the SYSDEBUG as needed. When we used Expeditor, we had to recompile especially for debugging. The debug compile had extra steps to write to a DDIO file. If that's what you do, then the subroutine will also need to recompiled that way.