Describe how the debugging macros really work since 2.9.1, i.e. explain wxDEBUG_LEVEL and NDEBUG instead of __WXDEBUG__. Closes #14435. git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@71887 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
		
			
				
	
	
		
			38 lines
		
	
	
		
			1.6 KiB
		
	
	
	
		
			C
		
	
	
	
	
	
			
		
		
	
	
			38 lines
		
	
	
		
			1.6 KiB
		
	
	
	
		
			C
		
	
	
	
	
	
/////////////////////////////////////////////////////////////////////////////
 | 
						|
// Name:        funcmacro_debug.h
 | 
						|
// Purpose:     Debugging function and macro group docs
 | 
						|
// Author:      wxWidgets team
 | 
						|
// RCS-ID:      $Id: funcmacro_gdi.h 52454 2008-03-12 19:08:48Z BP $
 | 
						|
// Licence:     wxWindows licence
 | 
						|
/////////////////////////////////////////////////////////////////////////////
 | 
						|
 | 
						|
/**
 | 
						|
 | 
						|
@defgroup group_funcmacro_debug Debugging macros
 | 
						|
@ingroup group_funcmacro
 | 
						|
 | 
						|
Useful macros and functions for error checking and defensive programming.
 | 
						|
 | 
						|
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.
 | 
						|
 | 
						|
Related class group: @ref group_class_debugging.
 | 
						|
 | 
						|
*/
 | 
						|
 |