Debug Tool にはいくつかの組み込み関数があり、これらを使用して 変数を操作することができます。Debug Tool の組み込み関数はすべてパーセント記号 (%) で始まります。
下の表は、Debug Tool 組み込み関数を要約したもの です。特に断りがない限り、これらの関数はサポートされている すべての言語で使用できます。
| Debug Tool 組み込み関数 | 戻される内容 |
|---|---|
| %DEC (アセンブラー、逆アセンブリー、および非言語環境プログラム の COBOL) | オペランドの 10 進値 |
| %GENERATION (PL/I) | 特定の世代の被制御変数 |
| %HEX | オペランドの 16 進値 |
| %INSTANCES (C、C++、および PL/I) | ブロックの %RECURSION の最大値 |
| %RECURSION (C、C++、および PL/I) | 再帰プロシージャーの特定のインスタンス内の自動変数または パラメーター |
| %WHERE (アセンブラー、逆アセンブリー、および非言語環境プログラム の COBOL) | オペランドのアドレスを示すストリング。 |
オペランドの 10 進値を戻します。

例
レジスター R1 には値 14 が設定されていると想定して、式 R1+2 の値を 10 進数で表示するには、次のコマンドを入力します。
LIST %DEC(R1+2);
「Log」ウィンドウに値 16 が表示されます。
ここで述べた内容に関して詳しくは、以下のトピックを参照してください。
プログラム内の被制御変数の特定の世代を戻します。

1 <= n <= ALLOCATION(x)
最も古いインスタンスの x を戻すには、次のように 指定します。
%GENERATION(x,1)
最も新しいインスタンスの x を戻すには、次のように 指定します。
%GENERATION(x,ALLOCATION(x))
使用上の注意
ここで述べた内容に関して詳しくは、以下のトピックを参照してください。
オペランドの 16 進値を戻します。

例
C および C++: 外部表記が 235 のパック 10 進の変数 zvar1 の 内部表記を表示するには、次のコマンドを入力します。
LIST %HEX(zvar1);
ログ・ウィンドウには、16 進ストリング 235C が表示されます。
COBOL: PIC 9(9) として定義されている パック 10 進数 pvar3 を、16 進数 (または内部的) に 等価な 1234 から、外部表示するには、次のコマンドを入力します。
LIST %HEX (pvar3);
ログ・ウィンドウには、16 進ストリング 01234F が表示されます。
ここで述べた内容に関して詳しくは、以下のトピックを参照してください。
ある特定のブロックに関する %RECURSION の 最大値 (すなわち、最も新しい反復番号) を戻します。

%INSTANCES は、Debug Tool 変数のように使用できます。
使用上の注意
Debug Tool は、Enterprise PL/I プログラムの %INSTANCES 組み込み関数をサポートしません。
記録されたステップを再生する間は、%INSTANCES 組み込み関数を使用することはできません。
例
C および C++:
int RecFn(unsigned int i) {
if (i == 0) {
__ctest("");
この時点で、__ctest() 呼び出しにより、Debug Tool に制御が渡り、コマンドを入力するようユーザーにプロンプトが出されます。次のコマンドを入力します。
LIST %INSTANCES(i);
ログ・ウィンドウに RecFn() が対話式に呼び出された 回数が表示されます。
RecFn() の最初の呼び出し時に「i」の値を 表示するには、次のコマンドを入力します。
%RECURSION(i, 1);
%RECURSION(main:>%block3:>x, %INSTANCES(main:>%block3:>x, y+
char line[100]; char *result; result = gets(line);
int result;
result = remove("mayfile.dat");
if (result != 0)
perror("could not delete file");double sqrtval; sqrtval = sqrt(2);
printf("absolute value is %d¥n", abs(-55));fprintf(stdout, "value of errno is %d¥n", errno);
ここで述べた内容に関して詳しくは、以下のトピックを参照してください。
再帰プロシージャーの特定のインスタンスの自動変数または パラメーターを戻します。

x の最も古い反復を戻すには、次のように 指定します。
%RECURSION(x,1)
x の最も新しい反復を戻すには、次のように 指定します。
%RECURSION(x,%INSTANCES(x))
使用上の注意
ここで述べた内容に関して詳しくは、以下のトピックを参照してください。
アドレスがオペランドとして指定されている名前付き領域 (存在する場合) について記述するストリングを戻します。%WHERE は、LIST コマンド内の最外部の式としてのみ 使用することができます。

以下の規則は、式の値を評価するために、リストされている順序で使用されます。
この関数の使用はアセンブラー、逆アセンブリー、または非言語環境プログラム の COBOL のコンパイル単位内 のみに限られますが、式はどの言語のコンパイル単位にも評価することができます。
使用上の注意
%WHERE は別の式の中でネストすることはできません。 例えば、以下のコマンドは無効です。
LIST %WHERE(X'14B0')||'ABC'
例
LIST %WHERE(X'1BC042A')
USING DATA1,R3
...
SLR R0,R0
...
DATA1 DSECT ,
...
コマンド LIST %WHERE(X'1C4B4') で DATA1+X'14' が戻されます。