分类: C/C++
2008-01-17 11:47:37
ASSERT tests an expression. If the expression is false, it breaks into the kernel debugger.
VOID ASSERT( );
This routine is defined in ntddk.h and wdm.h. Include ntddk.h or wdm.h.
This routine can only be used in Windows 2000 and later.
This macro will only be included in your binary if your code is compiled in a . Once your driver has been built, ASSERT will work properly regardless of whether your driver is run on the checked build or on the free build of Windows.
If Expression evaluates to TRUE, this routine has no effect.
If Expression evaluates to FALSE, a message will be displayed in the Debugger Command window. The message contains the source-code string of Expression, as well as the path of the source-code file and the line number in that file of the instruction that called the macro. In this event, ASSERT can be ignored and the process or thread in which ASSERT occurred can be terminated. Alternatively, the debugger can be used to analyze the situation or to edit memory. If ASSERT is ignored, execution continues as if the g command was entered.