Technical Blog Post
Debug Tool: No source displayed in CICS debug session
No source displayed in CICS debug session.
This is a problem I come across quite often. There are several steps a developer can take to resolve the problem before calling IBM for help:
- current program loaded is not prepared for Debug Tool
This can happen if the program is not loaded from the expected library. CICS found an older or different version of the program first in the DFHRPL search path. Enter DESC LOADMOD in the debug session. Here is an example of the output:
ADDRESS LENGTH EPA FF LOADMOD DSNAME CSECT LANGUAGE -------- ------ -------- -- ------- ------------- 26999360 CA0 26999360 SHORTC HLQ.TEST.LOAD 269993F8 298 MAIN DISASSEMBLY 26999808 A ATOF DISASSEMBLY
- Verify that ( in my case ) HLQ.TEST.LOAD is the expected load library.
- debug file was moved to a new location.
Many companies use source control software that could lead to the situation in which the load module containing debug source location is not correct. Use PF4 in your debug session to get to the Source Identification Panel. It will display what debug tool knows about the location of the debug file. You can override the location with the correct one in this panel, or you can use the SET DEF LIST command to point to the new location. There are several more options you can try - please review Debug Tool Users Guide - How does Debug Tool locate source, listing, or separate debug files?
- CICS region user id has no access to debug file.
- Check for ICH* messages in the system console. Provide access permission to the user id.
- SAVESET / preference file contains a SET DEF LIST command pointing to the wrong location.
- Enter Q SET and check if you see SET DEF LIST command with a dataset named is in it - if yes then you can clear the SET DEFAULT LISTING setting by entering the command with a blank at the end.
- for COBOL V5+ make sure you did the needed customization: add system libraries MIGLIB and SIEAMIGE to the DFHRPL DD.
- for COBOL V6.2 compiled with TEST(SEP...) you need to tell the debugger where to find the sysdebug file (location is NOT stored in the object anymore) ENVAR(" EQA_DBG_SYSDEBUG =DSname")
See Debug Tool for z/OS for more information on Debug Tool.