「メインフレーム・コンピューター」で遊ぼうこんな時代に今さらメインフレーム・コンピューターに取り組むハメになったみんなが助けあうサイトです。RSSWordPress.orgコスパのいい社内システムの作り方メインフレームを扱っていると、軽い開発やメンテナンスにリソースを割けない、しかし、BPCも考えねば。解決策のひとつがクラウドにおくFileMakerです。Comment印刷用ページの表示ダンプリスト解析入門4:ABENDの原因を調べる&#9313レジスターセーブエリア・トレースプログラムが1つのモジュール(CSECT)しか持たない場合や、複数のモジュールで構成されていても動的構造プログラム(プログラムを構成するモジュールが1つ1つ独立したロードモジュール・メンバーでLOADあるいはLINKマクロによってローディングされる)では、どのモジュールでABENDしたのかが徴候(SYMPTOM)ダンプにその名前が表示されます。EXECステートメントのPGMパラメーターで指定されたモジュールや、LOADあるいはLINKなどスーパーバイザー経由でローディングされたモジュールについては、OSがローディング・アドレスとモジュールの長さを管理しているからです。PGM=に指定した名前)になり、その中のどれかのモジュールでABENDしたけど、それがどのモジュールなのかはOSにはわからないよ。このような場合、ABENDした具体的なモジュール名(CSECT名)を特定するには、リンケージエディターのリストからプログラムを構成する各々のCSECTの結合されたモジュール内におけるオフセット位置と徴候ダンプが示すオフセット位置を照らし合わせる方法があります。リンケージエディターのリストが保存されていない場合は、AMBLISTユーティリティーのLISTLOAD機能でCSECTマップを出力し、それを参照できます。:徴候ダンプではABENDしたプログラム・モジュールのローディング・アドレスはx78D8でPSWが示すアドレスx7B02は、ローディング・アドレスの先頭からx22A離れた位置にあることがわかる。:リンケージエディターのリストと照らし合わせると、最初のMAINENTRは長さ194なので、ABENDオフセットx22Aの範囲外。2番目のSUBPGM01がオフセット位置x198から始まっている。SUBPGM01のオフセット位置x92となる。ダンプリストだけで調査する場合は、レジスターセーブエリア・トレース(SAトレース)を参照する方法があります。EPAがABENDしたモジュールの入口点アドレス。RETが呼び出し側モジュールへの戻りアドレス。入口点x7A70からのモジュール(CSECT)のオフセット位置x92となる。TRACEなどからABENDしたCSECTモジュールやそれを呼び出したモジュールを特定することができます。ABENDしたモジュールがわかれば、後はレジスターとメモリーの内容から原因を調査していきます。