Rational Developer for System z バージョン 7.6

付録F. DTST での CICS ストレージの表示および変更

DTST トランザクションを使用すると、CICS® ストレージの表示、スキャン、および変更を行うことができます。これは BMS トランザクションであり、3270 端末上で稼働します。

DTST の開始

ここでは、DTST の開始方法について説明し、例を示します。

作業を始める前に、ストレージを変更する必要がある場合は、CICS キー・ストレージか USER キー・ストレージ、またはその両方を変更する権限があることをシステム・プログラマーに確認してください。「Debug Tool カスタマイズ・ガイド」の『ストレージを変更するために DTST トランザクションを許可する』に、CICS キー・ストレージか USER キー・ストレージ、またはその両方を変更する権限を受けるためにシステム・プログラマーに実行してもらう必要があるステップが説明されています。

DTST トランザクションは、基底アドレスを指定して開始するか、指定せずに開始することができます。 基底アドレスは、以下のいずれかの項目にすることができます。

DTST の開始時に、特定のアクションを実行するように指定することもできます。アクションを指定するには、以下のいずれかの文字を使用します。

DTST トランザクションの構文に、すべてのパラメーターの説明があります。

DTST の開始の例

以下の例では、DTST コマンドとパラメーターの入力方法を示します。

例: DTST の開始およびリテラル 16 進数の指定

アドレス 45CB00 のストレージを表示するには、コマンド DTST 45CB00 を入力します。

基底アドレスは 45CB00 です。

例: DTST の開始およびプログラム名の指定

プログラム MYPROG のプログラム・ストレージを表示するには、コマンド DTST P=MYPROG を指定します。

基底アドレスは、ストレージ内のプログラムのアドレスです。

例: DTST の開始およびオフセットの指定
アドレス 45CB00 から D0 バイトの負のオフセットにあるストレージを表示するには、コマンド DTST 45CB00 - D0 を入力します。

計算 (45CB00-D0) の結果が基底アドレスになります。この例では、基底アドレスは 45CA30 です。

プログラム MYPROG の開始アドレスから 28 バイトの正のオフセットにあるプログラム・ストレージを表示するには、コマンド DTST P=MYPROG+28 を入力します。

プログラム MYPROG の開始アドレスが 8492A000 である場合、計算 (8492A000+28) の結果が基底アドレス (8492A028) になります。

フルワードが (例えばフェッチ保護ストレージ内で) 保護例外を生成する場合、DTST は「Storage Key」フィールドに疑問符を表示します。

例: 間接アドレッシングを使用した DTST の開始

間接参照によってストレージを表示するには、31 ビット・アドレッシングを示すためにアスタリスク (*) を使用するか、24 ビット・アドレッシングを示すためにアットマーク (@) を使用します。DTST は、そのアドレスに基底アドレスとしてフルワードを使用します。

アドレス 45CB00 に基底アドレスとしてフルワードを使用したい場合は、コマンド DTST 45CB00* を入力します。

複数のオフセットまたは間接参照レベルを組み合わせることができます。例えば、コマンド DTST 45CB00 + b* + 14** + 14* を入力すると、DTST は以下の順序で基底アドレスを計算します。

  1. 45CB00 から開始し、B0 を加算します。結果は 45CBB0 となります。
  2. ロケーション 45CBB0 にアクセスし、そのロケーションにあるアドレスを取得します。この例では、アドレスが 29AD00 であるとします。
  3. 29AD00 に 14 を加算します。結果は 29AD14 になります。
  4. ロケーション 29AD14 にアクセスし、そのロケーションにあるアドレスを取得します。この例では、アドレスが 1838AD であるとします。
  5. ロケーション 1838AD にアクセスし、そのロケーションにあるアドレスを取得します。この例では、アドレスが 251936 であるとします。
  6. 251936 に 14 を加算し、結果の 25194A を得ます。
  7. ロケーション 25194A にアクセスし、そのロケーションにあるアドレスを取得します。この例では、アドレスが 3920AD であるとします。DTST はメモリー・ウィンドウを開き、3920AD から始まるストレージの内容を表示します。
例: BASE キーワードを使用した DTST の開始
BASE キーワードを使用すると、長いコマンド行を簡単に書くことができます。 BASE キーワードには、前の DTST コマンドの基底アドレスの値が代入されます。例えば、コマンド DTST 45CB00+10* を入力した場合、BASE には 45CB00+10* の結果の値が代入されます。45CB00+10* の値を後続のコマンドで使用したい場合は、BASE キーワードを使用します。例えば、DTST BASE+20* とします。
例: スキャン要求を使用した DTST の開始
DTST コマンドにスキャン要求を追加することにより、探しているデータを指定できます。例えば、基底アドレス 45CB00 を起点として「WORKAREA」というデータを検出したい場合は、コマンド DTST 45CB00,S='WORKAREA' を入力します。基底アドレスから 4 K バイトのスキャンが開始されます。基底アドレス 45CB00 から始めて、各ダブルワードの先頭にある「WORKAREA」というデータを検出したい場合は、コマンド DTST 45CB00,S8='WORKAREA' を入力します。スキャンを負の方向に実行する (つまり、アドレスの値を減らしてゆく) ように指定することもできます。
例: ページ番号要求を使用した DTST の開始
DTST コマンドにページ要求を追加することにより、表示したいページを指定できます。例えば、基底アドレス 45CB00 から 5 ページ目のストレージを表示したい場合は、コマンド DTST 45CB00,P=5 を入力します。これはコマンド DTST 45CB00 を入力してから Page Down キーを5 回押すのと同じことになります。コマンド DTST 45CB00,P=-5 を入力した場合は、コマンド DTST 45CB00 を入力した後に Page Up (前ページ) キーを 5 回押すのと同じことになります。

DTST ストレージ・ウィンドウによるストレージの変更

DTST トランザクションを開始すると、ストレージ・ウィンドウが表示されます。 ストレージ・ウィンドウに表示されているストレージの内容は、変更することができます。

作業を始める前に、CICS キー・ストレージか USER キー・ストレージ、またはその両方を変更する権限があることをシステム・プログラマーに確認してください。「Debug Tool カスタマイズ・ガイド」の『ストレージを変更するために DTST トランザクションを許可する』に、CICS キー・ストレージか USER キー・ストレージ、またはその両方を変更する権限を受けるためにシステム・プログラマーに実行してもらう必要があるステップが説明されています。

前の DTST コマンドが正常に実行されたことを確認した後、以下のステップを実行して、ストレージを変更できます。

  1. PF9 を押して変更モードに入ります。コマンド行は保護され、列 4 から列 7 が無保護になります。
  2. 変更したいデータにカーソルを移動し、新しいデータを入力します。 一度に複数のロケーションを変更できます。
  3. Enter を押します。 DTST は入力されたデータの有効性を検査します。 DTST は、有効なデータを含んでいるすべての変更を実行します。無効なデータを含んでいるワードがある場合は、そのワードを含んでいる行が強調表示されます。無効なデータを訂正した後、Enter を押して変更を検査できます。
  4. 任意のファンクション・キーを押して、変更モードを終了します。 ただし、以下のキーを押すことはできません。

DTST ストレージ・ウィンドウをナビゲートするには、複数の方法があります。

DTST コマンドを入力した後、以下のステップを実行します。

  1. 以下のいずれかの方法を選択して、ウィンドウ内をナビゲートします。
  2. DTST ストレージ・ウィンドウを閉じるには、PF3 キーを押します。

DTST ストレージ・ウィンドウ

DTST ストレージ・ウィンドウは、ストレージの表示と変更に使用するインターフェースです。

+----------------------------------------------------------------------------+
| Command  : DTST 00100000                                                   |
| Response : Normal                                                          |
| Page     : HOME     Storage Key : USER                                     |
+----------------------------------------------------------------------------+
| 00100000  0000 00 | C4A3D983 826E6E6E A7E10888 A0050004 | DtRcb>>>x..h.... |
| 001 1 10  0 2   3 | 001 4 12 000 5 00 000 6 00 000 7 00 | ....... 8 ...... |
| 00100020  0020 02 | A7E09170 8009D150 A7E152D8 00000000 | x.j...J.x..Q.... |
| 00100030  0030 03 | 00000001 000C5258 00000000 00000000 | ................ |
| 00100040  0040 04 | A6BF6098 800A4968 800B01DB 00000000 | w.-q.......Q.... |
| 00100050  0050 05 | 00000000 00000000 800B30CB 80140C10 | ...........H.... |
| 00100060  0060 06 | 8074B6A0 80155CA8 80160818 801683C0 | ......*y......c{ |
| 00100070  0070 07 | A6BFD338 00000000 A6BFD190 00000000 | w.L.....w.J..... |
| 00100080  0080 08 | 00000000 00000000 00000000 00000000 | ................ |
| 00100090  0090 09 | 00000000 00000000 00000000 00000000 | ................ |
| 001000A0  00A0 10 | 00000000 00000000 00000000 00000000 | ................ |
| 001000B0  00B0 11 | 00000000 00000000 00000000 00000000 | ................ |
| 001000C0  00C0 12 | 00000000 00000000 00000000 00000000 | ................ |
| 001000D0  00D0 13 | 00000000 00000000 00000000 00000000 | ................ |
| 001000E0  00E0 14 | 00000000 00000000 00000000 00000000 | ................ |
| 001000F0  00F0 15 | 00000000 00000000 00000000 00000000 | ................ |
+----------------------------------------------------------------------------+
|  1=Hlp  2=Retrv  3=End  5=RepeatScan  7=Up  8=Down  9=Modfy  ENTER=ReCalc  |
+----------------------------------------------------------------------------+

以下のリストで、このインターフェースのすべての部分を説明します。

Command
入力した最新のコマンド。
Response
入力した最新のコマンドの結果。コマンドが正常に完了した場合、このフィールドに Normal と表示されます。コマンドが失敗した場合、前のコマンドで発生したエラーのタイプを示すメッセージが表示されます。
Storage Key
以下のいずれかの値を表示します。
CICS
CICS キー・ストレージが表示されることを示します。
USER
USER キー・ストレージが表示されることを示します。
KEYn
キー n ストレージが表示されることを示します。
????
キーが認識されないことを示します。
!!!!
キーを取得できなかったことを示します。
 1 
ストレージのアドレスを表示します。アドレスはワード境界上で編成されます。ワード境界上にないアドレスを入力した場合、アドレスより前にある、ワードの先頭までのバイトには、ブランクが埋め込まれます。
 2 
列 1 のアドレスの、基底アドレスからのオフセットを表示します。 オフセットは 16 進数で表示されます。
 3 
ウィンドウ内の行番号 (0 から 15 まで) を表示します。この行番号は 10 進数で表示されます。
 4  から  7 
ストレージの内容を 16 進数で表示します。1 つの列が 4 バイトを表しています。
 8 
ストレージの内容を EBCDIC で表示します。

以下の PF キーのいくつかは、前の操作が成功した場合にのみ機能します。 前の操作が成功した場合は、「Response」フィールドに Normal というワードが表示されます。

PF1 (Help)
ヘルプ画面を表示します。ヘルプ画面にはコマンド構文が例とともに表示され、すべてのキーワードがリストされます。
PF2 (Retrieve)
コマンド・ヒストリーから前のコマンドを取り出します。DTST は最大 10 個のコマンドをコマンド・ヒストリーに保管し、それより古いコマンドは破棄して、新しいコマンドが保存されるようにします。
PF3 (Exit)
画面を消去し、トランザクションを終了します。
PF5 (RepeatScan)
スキャン操作を繰り返します。
PF7 (Up)
ストレージ内で逆方向に 1 ページ (256 バイト) 移動します。基底アドレスは再計算されません。
PF8 (Down)
ストレージ内で順方向に 1 ページ (256 バイト) 移動します。基底アドレスは再計算されません。
PF9 (Modify)
変更モードを開始します。
Enter
DTST は、以下のいずれかのタスクを実行します。

ヘルプ画面のナビゲーション・キー

DTST は、いくつかのオンライン・ヘルプ画面を提供します。それらの画面には、メインスクリーンで (変更モードでないときに) PF1 を押すことによってアクセスできます。その場合、メイン・ヘルプ索引が表示されます。ここで述べる PF キーを使用することにより、ヘルプ画面をナビゲートすることができます。

PF3
ヘルプ画面を閉じ、DTST ストレージ・ウィンドウに戻ります。
PF7
前の画面を表示します。
PF8
次の画面を表示します。
PF10
メイン・ヘルプ索引を表示します。
PF11
最後のヘルプ画面を表示します。

DTST トランザクションの構文

DTST トランザクションは、ストレージをメモリー・ウィンドウに表示します。ストレージ域をナビゲートし、ストレージを変更できます。

DTST トランザクションの構文図

以下のリストは、パラメーターの説明です。

address
1 文字から 8 文字までの 16 進値。
BASE
前に入力し、正常に完了した DTST コマンドの基底アドレスの値。
displacement
1 文字から 8 文字までの 16 進値。
modifier
アクションを実行する方向を示します。デフォルトは順方向で、これは値が増加することを意味します。逆方向を指定するには、負符号 (-) を使用します。
P
プログラムの名前を指定しようとしており、そのプログラムの開始アドレスを基底アドレスとして使用したいことを示します。
program_name
プログラムの名前。
request_letter
DTST に実行させたいアクションを示します。request_letter は、以下の文字のいずれかです。
P
DTST にページ戻し、またはページ送りをさせたいことを示します。
S
DTST にストレージを検索させ、ターゲットを検出した時点で検索を停止させたいことを示します。S 要求の構文は、以下のとおりです。
DTST トランザクションの構文図
value
16 進値か 10 進値、またはストリングを引用符 (") またはアポストロフィ (') で囲んだもの。DTST にスクロールさせたいページ数、または検索のターゲットを示すために使用します。

アドレス x'01000000' の後にあるメモリーの 5 番目のページ (画面) を表示したい場合は、コマンド DTST 01000000,P=5 を入力します。これは、 DTST 01000000 を入力してから PF8 を 5 回押すのと同じことです。

アドレス x'01000000' から検索を開始して x'00404040' を検出したいことを示すには、コマンド DTST 01000000,S=00404040 を入力します。


ご利用条件 | フィードバック

このインフォメーション・センターでは Eclipse テクノロジーが採用されています。(http://www.eclipse.org)