AssertWarn
Debugging macro that prints a warning if an expression evaluates to 0.
#define AssertWarn(expression) If (expression) = 0 Then : fb_AssertWarn( __FILE__, __LINE__, __FUNCTION__, #expression ) : End If
AssertWarn( expression )
expression
The AssertWarn macro is intended for use in debugging and works only if the -g option is selected in the FBC command line. In this case it prints a warning message if expression evaluates to 0. It doesn't stop the program execution like Assert does.
Its normal use is to check the correct value of the variables during debugging.
If -g is not passed to fbc, the macro does not generate any code.
Syntax
#define AssertWarn(expression) If (expression) = 0 Then : fb_AssertWarn( __FILE__, __LINE__, __FUNCTION__, #expression ) : End If
Usage
AssertWarn( expression )
Parameters
expression
Any valid expression. If expression evaluates to 0, a warning message is printed to stdout (console).
Description
The AssertWarn macro is intended for use in debugging and works only if the -g option is selected in the FBC command line. In this case it prints a warning message if expression evaluates to 0. It doesn't stop the program execution like Assert does.
Its normal use is to check the correct value of the variables during debugging.
If -g is not passed to fbc, the macro does not generate any code.
Example
Sub foo
Dim a As Integer
a=0
AssertWarn(a=1)
End Sub
foo
'' If -g is used this code prints: test.bas(3): assertion failed at FOO: a=1
Dim a As Integer
a=0
AssertWarn(a=1)
End Sub
foo
'' If -g is used this code prints: test.bas(3): assertion failed at FOO: a=1
Dialect Differences
- Not available in the -lang qb dialect unless referenced with the alias __ASSERTWARN.
Differences from QB
- New to FreeBASIC
See also