Points d’arrêt importants pour l’analyse des problèmes reproductibles
Lors du débogage d’un pilote miniport SCSI, il existe trois routines dans lesquelles il est utile de définir un point d’arrêt :
scsiport !scsiportnotification
scsiport !spstartiosynchronized
Miniport! HwStartIo
La routine scsiport !scsiportnotification est appelée juste après l’envoi d’une requête au miniport. Par conséquent, si vous définissez un point d’arrêt dans scsiport !scsiportnotification , puis exécutez un backtrace de pile à l’aide de kb3, vous pouvez déterminer si le miniport reçoit et exécute les demandes. Si le premier paramètre est égal à zéro, la demande a été effectuée. Si le premier paramètre n’est pas nul, le troisième paramètre est l’adresse du bloc de requête SCSI (SRB) qui n’est pas terminé, et vous pouvez utiliser l’extension !minipkd.srb pour analyser davantage la situation.
Placer un point d’arrêt dans scsiport !spstartiosynchronized ou miniport ! HwStartIo provoquera un arrêt juste avant l’envoi d’une demande au miniport.