ダンプ・リスト解析入門(番外編):正しいアドレスなのにS0C4でABENDしている??
MVCL命令でデータの移動先アドレスや移動するデータの長さを間違えた場合、データの移動中にプログラム割り込みを起こしS0C4でABENDすることがあります。命令で指定したレジスターは、ABENDした時点の移動元や移動先の …
こんな時代に今さらメインフレーム・コンピューターに取り組むハメになった人々のためのセルフスタディ・サイトです。Copyright © 2008-2024 ARTECEED Co.,Ltd.
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(エラーの)原因を調べる …
アセンブラー・プログラミングをする上で避けて通れないのが、ダンプ・リストの解析です。z/OS(MVS)には、プログラムが実行中に異常終了するとその原因を判別するための診断資料として、プログラムに関連する仮想記憶域をダンプ …