付録B. 一部のコマンドの動作の変更

このトピックでは、いくつかのコマンドのデフォルト動作の変更と、それらの変更が Debug Tool のどのバージョンで導入されたかについて要約します。

Debug Tool for z/OS バージョン 11.1 で導入された動作の変更

Debug Tool for z/OS バージョン 11.1 より、Debug Tool は C および C++ プログラムでのネストされたブロックの処理方法を変更し、それによりパフォーマンスが改善されました。

z/OS XL C/C++ コンパイラーは、ブロック・ステートメント (またはブロック) を 1 組の中括弧 {} で囲んですべての定義、宣言、およびステートメントとして定義します。ブロックをネストすると、コンパイラーが %BLOCKn のパターンを使用してそれらのブロックに名前を割り当てます。ここで、n はシーケンス番号です。

動作の違いを説明するために、以下の例を検討します。

#include <stdio.h>
#include <stdlib.h>
#include <string.h>

#define NUM_INVOKE 5

main()
{                                 /* block 1 start */
  int elm1 = 5, qvar1, qvar2, i;

  qvar1 = 1;
  qvar2 = 9;

  for(i=0; i<NUM_INVOKE; ++i)
  {                               /* block 2 start */
    qvar1 = qvar1 + 1;
    qvar2 = qvar2 + 1;
  }                               /* block 2 end */

  qvar1 = qvar1 + 1;
  qvar2 = qvar2 + 1;

  if(elm1 = 5)
  {                               /* block 3 start */
    qvar1 = qvar1 + 5;
    qvar1 = qvar1 + 5;
  }                               /* block 3 end */
  else
  {                               /* block 4 start */
    qvar1 = qvar1 - 5;
    qvar2 = qvar2 - 5;
  }                               /* block 4 end */

  qvar1 = qvar1 - 1;
  qvar2 = qvar2 - 1;

  } /* block 1 end */
前の動作
AT ENTRYAT EXITAT GLOBAL、または AT PATH コマンドを入力した後、Debug Tool は (入力されたコマンドに応じて) すべてのブロックの最初、終わり、またはその両方で停止します。
新しい動作
AT ENTRYAT EXITAT GLOBAL、または AT PATH コマンドを入力した後、Debug Tool は (入力されたコマンドに応じて) ブロック 1 の最初、終わり、またはその両方で停止します。

このトピックで説明している内容に関して詳しくは、以降のトピックを参照してください。

Debug Tool for z/OS バージョン 10.1 で導入された動作の変更

Debug Tool for z/OS®、バージョン 10.1 から、 Debug Tool DTCN のプライマリー・メニューでの、ユーザーがデバッグしたいプログラムの指定方法が変更されました。 以前はプログラムの識別に「Program ID (プログラム ID)」フィールドを使用していました。これが「LoadMod」と「CU」の 2 つのフィールドに変更されました。

Debug Tool for z/OS バージョン 9.1 (APAR PK74749 用 PTF 適用) で導入された動作の変更

Debug Tool for z/OS、バージョン 9.1 (PTF for APAR PK74749 適用済み) から、C/C++ の セマンティクスによりよく合わせるために、C/C++ プログラムの中のポインターの Debug Tool の処理方法が変更されました。 この変更によって、以下のコマンドが影響を受けます。

このトピックで説明している内容に関して詳しくは、以降のトピックを参照してください。