C プログラムを使用する方法

C プログラムを使用して DB2®Fault Analyzer を検証するには、データ・セット IDIVPDB2 のサンプル・ジョブ IDI.SIDISAM1 を編集し、実行依頼します。詳細については、サンプル・ジョブ内の説明を参照してください。

ジョブは、既にコンパイルされてリンク済みの ODBC C プログラムを実行します。このプログラムは、データ・セット IDIVPDB2 内のロード・モジュール IDI.SIDIAUTH として提供されています。このプログラムは計画的にシステム異常終了コード S0C4 で異常終了します。

注: この IVP は、DB2® ODBC IVP に基づいています。これは通常、メンバー DSNTEJ8 (JCL) および DSN8OIVP (C ソース・コード) として DB2® の DSN.SDSNSAMP データ・セット内にあります。この IVP は、DB2® との接続中に故意に異常終了するように変更されています。これにより、Fault Analyzer が呼び出され、DB2® 情報のレポート・セクションが組み込まれます。Fault Analyzer バージョンのソース・コードが、参考のために IDIVPDB2 サンプル・メンバーの末尾に用意されています。

TER(UATRACE) LE オプションの結果として、Fault AnalyzerMVS 変更オプション/抑止ダンプ出口 IDIXDCAP から呼び出されます。

Fault Analyzer に書き込まれた IDIREPRT レポートの概要セクションには、以下が含まれます。

Fault Analyzer の日本語フィーチャーでは、Language(JPN) オプションが有効である場合、 これは日本語になっているはずです。


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'.

この IVP の実行により作成される完全なサンプル・レポートが、IDI.SIDIDOC1 データ・セット内のメンバー IDISRP04 として用意されています。

SYSPRINT に書き込まれるデータには、次のものがあります。
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...