ダンプ・リスト解析入門 ⑩:プログラム割込みによるABENDダンプ解析サンプル

一連の「ダンプ・リスト解析入門」シリーズの最後に、簡単なプログラムを使ってABENDダンプの解析を行います。アセンブラー・プログラムで起こりがちなS0C4 ABEND(記憶保護例外)です。故意にプログラムで0番地などに書 …

ダンプ・リスト解析入門(番外編):正しいアドレスなのにS0C4でABENDしている??

MVCL命令でデータの移動先アドレスや移動するデータの長さを間違えた場合、データの移動中にプログラム割り込みを起こしS0C4でABENDすることがあります。命令で指定したレジスターは、ABENDした時点の移動元や移動先の …

ダンプ・リスト解析入門 ⑨:ダンプ解析に関連するOSコントロール・ブロック⑤

タスクで実行中のプログラムがGETMAINマクロなどで獲得した仮想記憶域は、サブプール毎に獲得済みの領域とフリー領域が管理されています。これを行うためのコントロール・ブロックがSPQE、DQEおよびFQEです。 [cra …

ダンプ・リスト解析入門 ⑧:ダンプ解析に関連するOSコントロール・ブロック④

TIOT TIOT(Task Input/Output Table)は、ジョブを実行するためのJCLに定義されたDDステートメントのテーブルです。ジョブ名やステップ名などが格納されるヘッダー部と個々のDDステートメントの …

ダンプ・リスト解析入門 ⑦:ダンプ解析に関連するOSコントロール・ブロック③

LLE LLE(Load List Element)は、タスクがローディングしたロードモジュールを示すコントロール・ブロックです。タスクが最後にロードしたモジュールのLLEがTCBLLSフィールドからポイントされます。L …

ダンプ・リスト解析入門 ⑥:ダンプ解析に関連するOSコントロール・ブロック②

ASCB ASCB(Address Space Control Block)は、アドレス空間を管理するコントロール・ブロックです。RBや後述のTCBなど空間内のローカル・リソースを管理するコントロール・ブロックと違ってシ …

ダンプ・リスト解析入門 ⑤:ダンプ解析に関連するOSコントロール・ブロック①

ダンプリストには、レジスター内容と関連する仮想記憶域の内容だけでなく、OSのさまざまなコントロール・ブロックが編集されて出力されます。これらもプログラムABEND時の原因究明のための有用な調査用資料になります。数多くのサ …

ダンプ・リスト解析入門 ④:ABENDの原因を調べる②

レジスター・セーブエリア・トレース 異常終了時の徴候ダンプにはエラーを起こしたモジュール名が表示されます。JCL EXECステートメントのPGMパラメーターで指定されたモジュールやLOADあるいはLINKなど、スーパーバ …

ダンプ・リスト解析入門 ③:ABENDの原因を調べる①

モジュール内のどこでプログラムがABENDしたのかが特定できたら、エラーの原因を究明していきます。まずは、ABENDコードによってABENDさせられた直接の理由を確認します。その後、どうしてそのようなエラーを引き起こした …