The system provides a series of special functions or macros to handle Debug version-related information, as follows:

Macro name/function name instructions
TRACE Use the same method as printf, which prints debugging information in the output box
ASSERT It receives an expression, and if the expression is TRUE, no action is taken, otherwise the current program execution is interrupted. For interrupts caused by the presence of this macro, your function call should be considered to have failed to meet the system’s prerequisites for calling this function. For example, call SetWindowText and so on for a window that has not yet been created.
VERIFY This is similar to ASSERT functionality, except that in the Release version, ASSERT does not evaluate the value of an input expression, while VERIFY evaluates the value of the expression.