Using a C program
To verify Fault Analyzer with DB2® using a C program, edit and submit the sample job IDIVPDB2 in data set IDI.SIDISAM1. Refer to the instructions in the sample job for more information.
The job executes an already compiled and linked ODBC C program, which has been provided as load module IDIVPDB2 in data set IDI.SIDIAUTH. The program deliberately abends with a system abend code of S0C4.
As a result of the TER(UATRACE) LE option, Fault Analyzer is invoked via the MVS™ change options/suppress dump exit, IDIXDCAP.
The synopsis section of the Fault Analyzer report that is written to IDIREPRT should contain the following:
For the Japanese feature of Fault Analyzer, this section should be in Japanese if the Language(JPN) option is in effect.
A system abend 0C4 reason code X'4' occurred in module IDIVPDB2 program IDIVCDB2
at offset X'C74'.
A program-interruption code 0004 (Protection Exception) is associated with this
abend and indicates that:
A protection exception occurred due to one of the following:
- An attempt to access a protected storage location using an incorrect storage
access key.
- An attempt to store, in the access-register mode, by means of an access-list
entry which has the fetch only bit set to one.
- An attempt to store into the range 0-511 or 4096-4607 with low-address
protection enabled.
- An attempt to store into a protected page with DAT on.
The abend was caused by machine instruction 50000000 (STORE).
NOTE: Source code information for program IDIVCDB2 could not be presented
because no compiler listing or side-file data sets were provided. The
source line # from the GONUMBER option is 123 for offset X'C74'.
A complete sample report from running this IVP is provided as member IDISRP04 in the IDI.SIDIDOC1 data set.
IDIVPDB2 INITIALIZATION
IDIVPDB2 SQLAllocEnv
IDIVPDB2-henv=1
IDIVPDB2 SQLAllocConnect
IDIVPDB2-hdbc=1
IDIVPDB2 SQLConnect
IDIVPDB2 successfully issued a SQLconnect
IDIVPDB2 SQLAllocStmt
IDIVPDB2 hstmt=1
IDIVPDB2 successfully issued a SQLAllocStmt
IDIVPDB2 SQLExecDirect
IDIVPDB2 sqlstmt=SELECT * FROM SYSIBM.SYSDUMMY1
IDIVPDB2 successfully issued a SQLExecDirect
IDIVPDB2 SQLFetch
IDIVPDB2 successfully issued a SQLFetch
IDIVPDB2 SQLTransact
IDIVPDB2 successfully issued a SQLTransact
IDIVPDB2 Abend S0C4 to invoke Fault Analyzer...