BINFILE エミッターのプロパティを設定して、CTF ビューアーを使用して表示されたバイナリ トレース ファイルの動作および外観を制御します。
トレース ファイルの形式はプラットフォームに依存しません。そのため、CTF ビューアーを使用して、UNIX 上で作成されたバイナリ トレース ファイルなどを表示できます。
BINFILE エミッターを有効にするには、統合化トレース機能の構成ファイルで次の文を指定します。
mftrace.dest = BINFILE
次に、BINFILE エミッターの動作を制御するために設定できるプロパティの一覧を示します。
プロパティ |
説明 |
デフォルト |
FILE |
書き込み対象のトレース ファイルの名前。トレース ファイルの命名には、次の疑似変数を使用できます。
- $(APPNAME)
- 現在のプロセスを開始するために呼び出された実行可能ファイルのベース名。たとえば、run.exe を呼び出した場合、$(APPNAME) には "run"(Windows) または "cobrun"(UNIX) の値が入ります。
- $(EMITTER)
- このエミッターの場合は、常に「BINFILE」になります。
- $(GEN)
- ファイルの生成値。1 から始まります。
- $(PID)
- 現在のプロセスに関するオペレーティング システム識別子。
- $(PLATFORM)
- プラットフォーム固有の定数。同じ処理を行っている 2 つのランタイム システムに対して、それぞれトレース ファイルが必要な場合に役立ちます。次のいずれかになります。
- native
- すべてのネイティブ プロセスの場合
- jvm
- JVM プロセスの場合
- $(RUNUNIT)
- .NET RunUnit ID を表す一意の番号 (.NET および JVM COBOL にのみ該当します)。
- $(RUNUNIT_SESSIONNAME)
- .NET RunUnit に渡されるセッション名 (.NET および JVM COBOL にのみ該当します)。
- $(RUNUNIT_GUID)
- .NET RunUnit に関連付けられるグローバルで一意の識別子 (.NET および JVM COBOL にのみ該当します)。
|
$(APPNAME).$(EMITTER).$(PID).ctb、または $(APPNAME).$(EMITTER).$(PID).ctb_$(GEN) (MAXGENERATION プロパティが指定されている場合)。次に例を示します。
- BINFILE エミッターを使用して、process-id 3456 として実行している run.exe(Windows)cobrun(すべてのプラットフォーム) のトレース イベントを出力しており、かつ MAXGENERATION プロパティが指定されていない場合、作成されるトレース ファイルは run.binfile.3456.ctb(Windows)cobrun.binfile.3456.ctb(すべてのプラットフォーム) という名前になります。
- BINFILE エミッターを使用して、process-id 1975 として実行している myapp.exe(Windows)myapp(すべてのプラットフォーム) のトレース イベントを出力しており、かつ MAXGENERATION プロパティが 3 に指定されている場合、作成されるトレース ファイルは myapp.binfile.1975.ctb_1、myapp.binfile.1975.ctb_2、および myapp.binfile.1975.ctb_3 という名前になります。
|
FLUSHEVERY |
ファイルがフラッシュされる前に出力されるトレース レコードの数。0 は、ファイルが明示的にフラッシュされないことを示します。 |
1 |
FORMAT |
- $(RUNUNIT)
- トレース イベントに関連する RunUnit を識別する一意の番号。
|
|
LOCATION |
トレース ファイルの書き込み先のフォルダー。 |
MFTRACE_LOGS 環境変数によって指定されたフォルダー。MFTRACE_LOGS が設定されていない場合は、現在のフォルダーが使用されます。注: 32 ビット版および 64 ビット版 Visual COBOL command promptでは、MFTRACE_LOGS を %ProgramData%\Micro Focus\Visual COBOL\2.x\mftrace\logs に設定します。
LOCATION プロパティで指定したフォルダーが存在しない場合、統合化トレース機能によりそのフォルダーが作成されます。この処理が失敗すると、統合化トレース機能はデフォルトの場所 (MFTRACE_LOGS 環境変数で指定) を使用します。この処理が失敗すると、現在のフォルダーが使用されます。
|
MAXFILESIZE |
ファイルが閉じられ、生成シーケンスの次のトレース ファイルが開かれる前に、トレース ファイルに書き込まれるデータの最大量 (KB 単位)。生成シーケンスの最初のトレース ファイルにより、$(GEN) 疑似変数 (上記の FILE プロパティの説明を参照) が 1 に設定され、生成シーケンスの 2 番目のトレース ファイルにより、$(GEN) 疑似変数が 2 に設定されます。この一連の設定は、MAXGENERATION を超えるまで続きます。ファイル数が MAXGENERATION で指定した数に達すると、生成番号は 1 に戻り、生成シーケンスの最初のトレース ファイルが上書きされます。
これは、MAXGENERATION の値が 1 よりも大きい場合に使用されます。
|
10000 (KB)。最大ファイル サイズは 1000000 KB です。 |
MAXGENERATION |
トレーシングが有効である間に書き込まれるトレース ファイルの最大数。このプロパティは、MAXFILESIZE プロパティとともに使用します。最大値は 100 です。※ MAXGENERATION の最大値 100 は 7.0 PU 13 以降で有効です。それ以前の Patch Update では最大値は 10 です。(#28843) |
1。単一のトレース ファイルのみ作成することを示します。 |
MultiProc |
単一または複数のプロセスによってトレース イベントをトレース ファイルに書き込むかどうかを制御します。複数のプロセスに対して有効になっている場合は、その名前に $(PID) 擬似変数を埋め込まずに File プロパティも指定する必要があります。 $(RUNUNIT)、$(RUNUNIT_SESSIONNAME)、または $(RUNUNIT_GUID) を使用する場合、ファイル名は一意になるため MultiProc は不要です (.NET および JVM COBOL にのみ該当)。
|
FALSE。構成済みのトレース ファイルに、現在のプロセスからのイベントのみが含まれることを示します。 |
Rununitid |
RunUnit 情報をトレースに含めるかどうかを制御します。 |
TRUE |
パフォーマンスの考慮事項
MultiProc プロパティを使用し、複数の COBOL ランタイム システム (ネイティブ、.NET、または JVM) が同じプロセスで実行されている場合、同じトレース ファイルを共有するように構成して実行することはできません。ファイル名に $(PLATFORM) 変数を使用すると、ランタイム システムごとに異なるファイル名を使用できます。トレースに $(PID) 変数が含まれている場合は、MultiProc プロパティを false に設定できます。次に例を示します。
$(APPNAME). $(EMITTER).$(PID).$(PLATFORM).ctb
JVM または .NET COBOL アプリケーションを複数ユーザーの環境で実行する場合は、.NET RunUnits のユーザーを使用します。TEXTFILE および BINFILE エミッターの両方のデフォルトのファイル名では、すべてのトレース イベントが 1 つ以上のファイルに収集されます。ただし、構成プロパティ #file が $(RUNUNIT)、$(RUNUNIT_SESSIONNAME)、または $(RUNUNIT_GUID) を使用する場合は、RunUnit ごとに別々のファイルを作成できます。次に例を示します。
$(APPNAME).$(PLATFORM).$(EMITTER).$(RUNUNIT_GUID).log
または
$(APPNAME).$(PLATFORM).$(EMITTER).$(RUNUNIT).log
または
$(APPNAME).$(PLATFORM).$(EMITTER).$(RUNUNIT_SESSIONNAME).log
JVM COBOL の制約事項:
権限が制限された環境で JVM COBOL アプリケーションを実行している場合、BINFILE エミッターでは MultiProc プロパティを使用できません。