Breaking into a Debugger from KMDF Drivers
If you want your framework-based driver to break into a kernel-mode debugger, you can use the following:
The WdfVerifierDbgBreakPoint function breaks into the debugger if the DbgBreakOnError value is set in the registry.
The WDFVERIFY macro tests a logical expression and breaks into the kernel debugger if the expression evaluates to FALSE and if the VerifyOn value is set in the registry.
The VERIFY_IS_IRQL_PASSIVE_LEVEL macro breaks into the kernel debugger if the driver is not executing at IRQL = PASSIVE_LEVEL and if the VerifyOn value is set in the registry.
The ASSERT macro tests a logical expression and breaks into the kernel debugger if the expression evaluates to FALSE.
The ASSERTMSG macro tests an expression and, if the expression evaluates to FALSE, breaks into the kernel debugger and supplies a displayable text message to the debugger.
The DbgPrintEx and KdPrintEx functions supply a displayable text message to the debugger.
The code for the WDFVERIFY and VERIFY_IS_IRQL_PASSIVE_LEVEL macros is included in your driver when you build your driver in a release or debug configuration. The code for the ASSERT and ASSERTMSG macros is included in your driver only when you build your driver in a debug configuration.
For more information about project configurations, see Building a Driver.
Feedback
https://aka.ms/ContentUserFeedback.
Coming soon: Throughout 2024 we will be phasing out GitHub Issues as the feedback mechanism for content and replacing it with a new feedback system. For more information see:Submit and view feedback for