前のページ次のページ上に戻るホーム BREW C++ ライブラリ & GUI フレームワーク & XML ミドルウェア : SophiaFramework 4.1

25.1. 診断用マクロ

表 25.1. 診断用マクロ

マクロ 意味
TRACE デバッグ メッセージを BREW 出力ウィンドウに表示します。
ASSERT BREW シミュレーター用ビルドの場合、引数の評価結果が false であるとき、警告メッセージを BREW 出力ウィンドウに出力します。 BREW 実機用ビルドの場合、警告メッセージは出力されず、引数も評価されません。
VERIFY BREW シミュレーター用ビルドの場合、引数の評価結果が false であるとき、警告メッセージを BREW 出力ウィンドウに出力します。 BREW 実機用ビルドの場合、警告メッセージは出力されませんが、引数は評価されます。
[Caution] 注意
診断用マクロは、TARGET_BUILD_DEBUG マクロが定義されているときのみ有効になります。

25.1.1. TRACE マクロ

TRACE マクロは、デバッグ出力を行うときに使います。

TARGET_ENVIRONMENT_SIMULATOR マクロが定義されていると、 TRACE マクロは SFXHelper::dbgprintf ( BREW ヘルパー関数 DBGPRINTF ) に置き換えられます。

使用例

SInt16 ComplicatedCaculation(SInt16 data);

Void Evaluate(Void)
{
  SInt16 val = 0;
  ...  // val の値が変化するような処理
  SInt16 result = ComplicatedCalculation(val);
  TRACE("result = %d (in Evaluate, Line = %d)", result, __LINE__);
  ...
}
[Note] 注意
ComplicatedCaculation の戻り値とコード上での現在値を BREW 出力ウィンドウに表示します。
[Caution] TARGET_ENVIRONMENT_SIMULATOR マクロが定義されていない場合

TRACE マクロは "空" として定義されます。TRACE マクロの引数への代入やメンバ変数を変更する関数の呼び出しには注意が必要です。

25.1.2. ASSERT マクロ

ただ 1 つの Bool 型引数を持つ ASSERT マクロは、「必ず満足すべき条件」を開発時に検証するときに使います。 (BREW シミュレーター用ビルドとBREW 実機用ビルドでプログラムの動作が異なることがあります。)

TARGET_ENVIRONMENT_SIMULATOR マクロが定義されていると(BREW シミュレーター用ビルドの場合)、 引数を評価した値が false であれば、ソースファイル名と行番号を含む警告メッセージとを BREW 出力ウィンドウに表示します。

使用例

// Example.cpp

SFMTYPEDEFCLASS(MyClass)
class MyClass{
public:
  Initialize(Void);
...
};

...
// ここが 4093 行目
Void Function(MyClassConstPtr obj)
{
  ASSERT(obj != null); // Function に渡される引数の値が NULL でないことを検証する
  obj->Initialize;
...
}
...
[Note] 注意
obj が空ポインターではないことを確認しています。 obj が空ポインターである場合は、BREW 出力ウィンドウに
ASSERT failed : line 4096, file 'Example.cpp'
と表示します。
[Caution] TARGET_ENVIRONMENT_SIMULATOR マクロが定義されていない場合(BREW 実機用ビルドの場合)

ASSERT マクロは "空" として定義されます。ASSERT マクロの引数への代入やメンバ変数を変更する関数の呼び出しには注意が必要です。

[Caution] その他

ASSERT マクロは引数の比較結果が偽の場合は警告メッセージを表示するだけです。プログラムは停止しません。

25.1.3. VERIFY マクロ

ただ 1 つの Bool 型引数を持つVERIFY マクロは、「必ず満足すべき条件」を開発時に検証するときに使います。 (BREW シミュレーター用ビルドとBREW 実機用ビルドでプログラムの動作は同じです。)

TARGET_ENVIRONMENT_SIMULATOR マクロが定義されていると(BREW シミュレーター用ビルドの場合)、 引数を評価した値が false であれば、ソースファイル名と行番号を含む警告メッセージとを BREW 出力ウィンドウに表示します。

TARGET_ENVIRONMENT_SIMULATOR マクロが定義されていないと(BREW 実機用ビルドの場合)、 引数の評価だけを行います。

[Caution] TARGET_ENVIRONMENT_SIMULATOR マクロが定義されていない場合(BREW 実機用ビルドの場合)

ASSERT マクロと違うのは、VERIFY マクロの場合、引数が評価される点だけです。