OS_CheckStatisticsBuffer

構文

#include <nitro/os.h>

BOOL OS_CheckStatisticsBuffer( void* statBuf );

引数

statBuf 関数コスト集計バッファ

返り値

バッファの最上位が書き換えられていれば FALSE を返します。
そうでなければ TRUE を返します。

説明

関数コスト集計バッファの最上位が書き換えられているかを調べます。
すなわち、関数コスト集計バッファが一杯まで使用されたかを調べます。

関数コスト集計バッファは、関数コスト計測バッファの情報を元に、関数の呼び出し回数や関数内の滞留時間を集計するためのバッファです。集計する関数の種類が増えるほどバッファが使用されていきますが、バッファが一杯まで使用された場合、それ以上の関数についての集計をしないだけで、エラー表示を行ったりプログラムが停止するということはありません。

それを検知する仕組みは次の通りです。バッファの最上位にチェックコードを書き込んでおきます。.そのチェックコードが他の値で書き潰されていないかを調べます。他の値が書き込まれている場合、バッファがそこまで使用されたという可能性が非常に高いことになります。ただし、ここでわかるのは、その領域が使用された、ということであり、いつその領域に値が書き込まれたかはわかりません。

チェックコードが書き込まれるのは、OS_InitStatistics() で集計バッファの初期化を行った時です。

この関数はデバッグ用の関数ですので、最終ROM版(FINALROM)ライブラリでは単にTRUEを返す関数となります。

なお、関数コスト集計バッファではなく、関数コスト計測バッファのチェックには OS_CheckFunctionCostBuffer() が用意されています。

参照

OS_InitStatistics, OS_CheckFunctionCostBuffer

履歴

2007/12/26 誤記修正
2006/08/24 初版