以下に、check と uncheck の形式を示します。
check
check -access
check -leaks [-frames n] [-match m]
-frames n |
リークしたブロックの割り当て追跡を表示するときのスタックフレームの最大数 n を指定します。 |
-match m |
リークをまとめるのに使用します。呼び出しスタックが 2 つ以上のリークを割り当てる際に m 個のフレームと一致した場合は、リークは 1 つにまとめて報告されます。 |
n のデフォルト値は 8 か m の値 (どちらか大きい方) になり、最大値は 16 です。m のデフォルト値は 2 です。
check -memuse には check -leaks の意味も含まれています。プログラム終了時には、リークレポートに加えて、メモリー使用状況レポートも出力されます。プログラム実行中に、プログラムのメモリーがどこに割り当てられているかをいつでも見ることができます。
メモリー使用状況検査をオンにするには、次のように入力します。
check -memuse [-frames n] [-match m]
-frames n |
使用中ブロックの割り当てトレースを示すときに、最大 n 個の明確なスタックフレームが一覧表示されます。 |
-match m |
プログラム内に多数の使用中ブロックが存在する可能性があるため、RTC は、同じ実行トレースから割り当てられたブロックを自動的に 1 つのレポートに結合します。レポートを結合するための決定は、m の値によって指定されます。複数ブロックの割り当て時の呼び出しスタックが m フレームと一致する場合、これらのブロックは、結合された使用中ブロックレポートで報告されます。ブロックの結合方法は、リークレポートで使用される方式と似ています。 |
n のデフォルト値は 8 または m の値のどちらか大きい方です。n の最大値は 16 です。m のデフォルト値は 2 です。
check -all [-frames n] [-match m] check -access ; check -memuse [-frames n] [-match m]
uncheck -access
uncheck -leaks
メモリー使用状況検査をオフにします (リーク検査もオフになります)。
uncheck -memuse
uncheck -all uncheck -access; uncheck -memuse
uncheck [funcs] [files] [loadobjects] suppress all in funcs files loadobjects
check コマンドの次の形式を使用すると、特定の関数の集合 function*、モジュール file*、ロードオブジェクト loadobject* 内だけで検査をオンにし、プログラムの残りの部分では検査をオフにすることができます。
check function* file* loadobject*
suppress all unsuppress all in function* file* loadobject*
check コマンドは累計的に機能します。たとえば、次の初めの 3 つのコマンドは、その後の 4 つのコマンドと同じ結果になります。
check main check foo check f.c suppress all unsuppress all in main unsuppress all in foo unsuppress all in f.c
suppress all コマンドは一度だけ適用され、main、foo、f.c では検査がオンのままになります。
uncheck function* file* loadobject suppress all in function* file* loadobject*