#define SDL_assert_paranoid(condition) SDL_disabled_assert(condition)
| bool | condition | テストの対象のブール値 |
このマクロはSDL_ASSERT_LEVELが3以上の場合に有効になり, そうでない場合は無効になる. このアサーションのレベルはリリースやデバッグよりも高く, まれな失敗を見つけるための高負荷なテストを特別なビルドで使用することを意図している.
アサーションが無効の場合, conditionはsizeof演算子で囲まれる. これにより, 関数の呼び出しと副作用は実行されなくなり, アサーションのみ参照する不使用の変数に対して警告も発しないようになる.
環境変数"SDL_assert_paranoid"にいくつかの文字列("abort", "break", "retry", "ignore", "always_ignore")の1つを設定してデフォルトの動作を変えることができる. メインスレッドがGUIインターフェースだが, バックグラウンドスレッドでアサーションデバッグを行うときは, "break"に設定するとデバッガはアプリケーションのUIが悪い影響(デッドロック等)を受けずにアサーションが発生するとすぐにコントロールを得ることができる.
SDL 3.2.0以降