]>
Commit | Line | Data |
---|---|---|
dae2800a BP |
1 | ///////////////////////////////////////////////////////////////////////////// |
2 | // Name: funcmacro_debug.h | |
3 | // Purpose: Debugging function and macro group docs | |
4 | // Author: wxWidgets team | |
526954c5 | 5 | // Licence: wxWindows licence |
dae2800a BP |
6 | ///////////////////////////////////////////////////////////////////////////// |
7 | ||
8 | /** | |
9 | ||
7d9550df | 10 | @defgroup group_funcmacro_debug Debugging macros |
dae2800a BP |
11 | @ingroup group_funcmacro |
12 | ||
13 | Useful macros and functions for error checking and defensive programming. | |
34f5c105 VZ |
14 | |
15 | Starting with wxWidgets 2.9.1, debugging support in wxWidgets is always | |
16 | compiled in by default, you need to explicitly define ::wxDEBUG_LEVEL as 0 to | |
17 | disable it completely. However, by default debugging macros are dormant in the | |
18 | release builds, i.e. when the main program is compiled with the standard @c | |
19 | NDEBUG symbol being defined. You may explicitly activate the debugging checks | |
20 | in the release build by calling wxSetAssertHandler() with a custom function if | |
21 | needed. | |
22 | ||
23 | When debugging support is active, failure of both wxASSERT() and wxCHECK() | |
24 | macros conditions result in a debug alert. When debugging support is inactive | |
25 | or turned off entirely at compilation time, wxASSERT() and wxFAIL() macros | |
26 | don't do anything while wxCHECK() still checks its condition and returns if it | |
27 | fails, even if no alerts are shown to the user. | |
28 | ||
29 | Finally, the compile time assertions don't happen during the run-time but | |
30 | result in the compilation error messages if the condition they check fail. | |
31 | They are always enabled and are not affected by ::wxDEBUG_LEVEL. | |
dae2800a | 32 | |
dbbca9fd FM |
33 | Related class group: @ref group_class_debugging. |
34 | ||
dae2800a BP |
35 | */ |
36 |