ダンプ・リスト解析入門 ⑩:プログラム割込みによるABENDダンプ解析サンプル
一連の「ダンプ・リスト解析入門」シリーズの最後に、簡単なプログラムを使ってABENDダンプの解析を行います。アセンブラー・プログラムで起こりがちなS0C4 ABEND(記憶保護例外)です。故意にプログラムで0番地などに書 …
こんな時代に今さらメインフレーム・コンピューターに取り組むハメになった人々のためのセルフスタディ・サイトです。Copyright © 2008-2024 ARTECEED Co.,Ltd.
一連の「ダンプ・リスト解析入門」シリーズの最後に、簡単なプログラムを使ってABENDダンプの解析を行います。アセンブラー・プログラムで起こりがちなS0C4 ABEND(記憶保護例外)です。故意にプログラムで0番地などに書 …
MVCL命令でデータの移動先アドレスや移動するデータの長さを間違えた場合、データの移動中にプログラム割り込みを起こしS0C4でABENDすることがあります。命令で指定したレジスターは、ABENDした時点の移動元や移動先の …
タスクで実行中のプログラムがGETMAINマクロなどで獲得した仮想記憶域は、サブプール毎に獲得済みの領域とフリー領域が管理されています。これを行うためのコントロール・ブロックがSPQE、DQEおよびFQEです。 [cra …
TIOT TIOT(Task Input/Output Table)は、ジョブを実行するためのJCLに定義されたDDステートメントのテーブルです。ジョブ名やステップ名などが格納されるヘッダー部と個々のDDステートメントの …
LLE LLE(Load List Element)は、タスクがローディングしたロードモジュールを示すコントロール・ブロックです。タスクが最後にロードしたモジュールのLLEがTCBLLSフィールドからポイントされます。L …
ASCB ASCB(Address Space Control Block)は、アドレス空間を管理するコントロール・ブロックです。RBや後述のTCBなど空間内のローカル・リソースを管理するコントロール・ブロックと違ってシ …
ダンプリストには、レジスター内容と関連する仮想記憶域の内容だけでなく、OSのさまざまなコントロール・ブロックが編集されて出力されます。これらもプログラムABEND時の原因究明のための有用な調査用資料になります。数多くのサ …
レジスター・セーブエリア・トレース 異常終了時の徴候ダンプにはエラーを起こしたモジュール名が表示されます。JCL EXECステートメントのPGMパラメーターで指定されたモジュールやLOADあるいはLINKなど、スーパーバ …
モジュール内のどこでプログラムがABENDしたのかが特定できたら、エラーの原因を究明していきます。まずは、ABENDコードによってABENDさせられた直接の理由を確認します。その後、どうしてそのようなエラーを引き起こした …
プログラムの誤りを正すための一般的な手順は、概ね以下の通りです。 どこでABENDしたのか? →ABEND(エラーの)箇所を特定する どうしてABENDしたのか?→ABEND(エラーの)原因を調べる …