このトピックでは、いくつかのコマンドのデフォルト動作の変更と、それらの変更が Debug Tool のどのバージョンで導入されたかについて要約します。
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 */
このトピックで説明している内容に関して詳しくは、以降のトピックを参照してください。
Debug Tool for z/OS®、バージョン 10.1 から、 Debug Tool DTCN のプライマリー・メニューでの、ユーザーがデバッグしたいプログラムの指定方法が変更されました。 以前はプログラムの識別に「Program ID (プログラム ID)」フィールドを使用していました。これが「LoadMod」と「CU」の 2 つのフィールドに変更されました。
Debug Tool for z/OS、バージョン 9.1 (PTF for APAR PK74749 適用済み) から、C/C++ の セマンティクスによりよく合わせるために、C/C++ プログラムの中のポインターの Debug Tool の処理方法が変更されました。 この変更によって、以下のコマンドが影響を受けます。
このトピックで説明している内容に関して詳しくは、以降のトピックを参照してください。