LibCross Library - デバッグ関数

_ASSERT

ASSERTの出力
書式
int _ASSERT( nFlag )
int nFlag

引数
nFlag   ASSERT発行フラグ

戻り値
常に0

解説
ASSERTの発行を行います。 引数 nFlag は、ASSERT発行の評価のために用いられます。 引数に与えた演算式の評価結果が、偽(0)のときのみASSERTがホストに発行されます。 ホストはASSERTを受け付けると、ダイアログボックスを表示してユーザーの指示を待ちます。 次の3つの項目から選択してください。
 ボタン   意味 
 Yes   プログラムを終了させ、CodeScapeの _ASSERT行にカーソルを移動する 
 No   ASSERTを無視し、プログラムの実行を継続する 
 Cancel   ダイアログボックスをキャンセルし、すべてのASSERTを進める 

CodeScapeの[Tools]メニューの[Option...]で表示される[Global Options]ダイアログボックスで、 ステータスの表示とセット、およびすべて無視をコントロールすることができます。 コンパイラは、次に続く_ASSERTインストラクションの上でCodeScapeを止めるためのコードを生成します。 以下のサンプルプログラムは _ASSERT行で止めることを確実にするマクロを含んでいます。 また、このプログラムではすべてのASSERT行をいっぺんに無効にするように記載されています。
{
/*
* Macro Redefinition of _ASSERT to ASSERT. This is performed to cause the
* compiler to insert at least one opcode after the jsr _ASSERT has returned
* it also permits the ASSERT code to be included / removed based on a
* compiler define.
*/
#ifdef _DEBUG_BUILD_
/* Since _ASSERT always return zero the expression will only be evaluated once */
#define ASSERT(X) while(_ASSERT(X)){ ; }
#else
#define ASSERT(X)
#endif /* _DEBUG_BUILD_ */
}


_ASSERT
COPYRIGHT © SEGA ENTERPRISES, LTD., 1998-2000