2008-03-14 01:47:17 -04:00
|
|
|
/////////////////////////////////////////////////////////////////////////////
|
|
|
|
// Name: funcmacro_debug.h
|
|
|
|
// Purpose: Debugging function and macro group docs
|
|
|
|
// Author: wxWidgets team
|
2010-07-13 09:29:13 -04:00
|
|
|
// Licence: wxWindows licence
|
2008-03-14 01:47:17 -04:00
|
|
|
/////////////////////////////////////////////////////////////////////////////
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
2009-09-12 07:28:52 -04:00
|
|
|
@defgroup group_funcmacro_debug Debugging macros
|
2008-03-14 01:47:17 -04:00
|
|
|
@ingroup group_funcmacro
|
|
|
|
|
|
|
|
Useful macros and functions for error checking and defensive programming.
|
2012-06-30 12:33:14 -04:00
|
|
|
|
|
|
|
Starting with wxWidgets 2.9.1, debugging support in wxWidgets is always
|
|
|
|
compiled in by default, you need to explicitly define ::wxDEBUG_LEVEL as 0 to
|
|
|
|
disable it completely. However, by default debugging macros are dormant in the
|
|
|
|
release builds, i.e. when the main program is compiled with the standard @c
|
|
|
|
NDEBUG symbol being defined. You may explicitly activate the debugging checks
|
|
|
|
in the release build by calling wxSetAssertHandler() with a custom function if
|
|
|
|
needed.
|
|
|
|
|
|
|
|
When debugging support is active, failure of both wxASSERT() and wxCHECK()
|
|
|
|
macros conditions result in a debug alert. When debugging support is inactive
|
|
|
|
or turned off entirely at compilation time, wxASSERT() and wxFAIL() macros
|
|
|
|
don't do anything while wxCHECK() still checks its condition and returns if it
|
|
|
|
fails, even if no alerts are shown to the user.
|
|
|
|
|
|
|
|
Finally, the compile time assertions don't happen during the run-time but
|
|
|
|
result in the compilation error messages if the condition they check fail.
|
|
|
|
They are always enabled and are not affected by ::wxDEBUG_LEVEL.
|
2008-03-14 01:47:17 -04:00
|
|
|
|
2008-12-12 13:51:54 -05:00
|
|
|
Related class group: @ref group_class_debugging.
|
|
|
|
|
2008-03-14 01:47:17 -04:00
|
|
|
*/
|
|
|
|
|