Article ID: 296225 - View products that this article applies to.
This article was previously published under Q296225
This article describes how you can enable debug logging for the SCSIPORT and SCSI miniport driver on Microsoft Windows XP, Microsoft Windows 2000 and Microsoft Windows NT.
To enable debug logs you must have a kernel debugger connected to the target computer and the appropriate symbol files. Also, debug logging only works in a checked or debug build of the operating system. This method will not work on free or retail builds of the operating system.
Windows NT and Windows 2000On Windows 2000 and Windows NT, you can obtain verbose debug tracing from the SCSIPORT driver by setting the ScsiDebug global variable to 3 with a kernel debugger. For example:
Windows XPDebug printing on Windows XP has changed from previous versions. Drivers now use a new function named DbgPrintEx to print debug messages. The DbgPrintEx function either passes the specified string to the kernel debugger or does nothing at all, depending on the values of ComponentID, Level, and the corresponding component filter masks.
The mask for the SCSIPORT driver is Kd_ScsiPort_Mask, and the mask for the SCSI miniport driver is Kd_ScsiMiniport_Mask. To get the logs from SCSIPORT and SCSI miniport, follow these steps:
This table shows the bit, value and description of the four bits:
To obtain debug logs from multiple levels, set bit values for all the required levels. For example, to get logs for both the Error and Warning level, set bits 0 & 1 to 1. This results in setting the debug flag to 3.
Bit Value Description ------------------------------------------ 0 1 Error Level (Always printed) 1 2 Warning Level 2 4 Trace Level 3 8 Info Level
For more information about the DbgPrintEx API, refer to the Microsoft Windows XP Device Driver Kit (DDK) documentation.
Article ID: 296225 - Last Review: September 7, 2004 - Revision: 2.1