Vérifications de bogues pour le débogage du miniport SCSI
Il existe principalement deux vérifications de bogues qui surviennent lors du débogage d’un pilote de miniport SCSI : case activée 0x77 de bogues (KERNEL_STACK_INPAGE_ERROR) et case activée 0x7A de bogues (KERNEL_DATA_INPAGE_ERROR). Pour plus d’informations sur leurs paramètres, consultez Vérification des bogues 0x77 et Vérification des bogues 0x7A.
Chacune de ces vérifications de bogues indique qu’une erreur de pagination s’est produite. Il existe trois causes main pour ces vérifications de bogues :
Réinitialisation complète du bus en raison d’un délai d’expiration sur un appareil particulier ou de l’absence d’activité sur un adaptateur
Délai d’expiration de la sélection
Erreurs du contrôleur
Pour déterminer la cause précise de l’échec, commencez par utiliser l’extension !scsikd.classext, qui affiche des informations sur les demandes ayant échoué récemment, notamment les status SRB, les status SCSI et les données de détection de la demande.
kd> !scsikd.classext 816e96b0
Storage class device 816e96b0 with extension at 816e9768
Classpnp Internal Information at 817b4008
Failed requests:
Srb Scsi
Opcode Status Status Sense Code Sector Time Stamp
------ ------ ------ ---------- -------- ------------
2a 0a 02 03 0c 00 0000abcd 23:01:07.453 Retried
28 0a 02 03 04 00 0000abcd 23:01:07.984 Retried
dt classpnp!_CLASS_PRIVATE_FDO_DATA 817b4008 -
...
Dans l’exemple précédent, opcode 0x2A indique une opération d’écriture et 0x28 indique une opération de lecture. La status SCSI dans l’exemple est 02, ce qui indique une condition case activée. Les codes sense fournissent plus d’informations sur les erreurs.
Comme toujours, les développeurs de pilotes miniport sont chargés d’associer les codes d’erreur de leur matériel aux codes de status SRB. En règle générale, les délais d’expiration sont associés à SRB 0x0A, le code d’un délai d’expiration de sélection. SRB 0x0e est généralement associé à une réinitialisation complète du bus, mais il peut également être associé à des erreurs de contrôleur.