Partilhar via


Pontos de interrupção importantes para analisar problemas reproduzíveis

Ao depurar um driver de miniporta SCSI, há três rotinas em que é útil definir um ponto de interrupção:

  • scsiport!scsiportnotification

  • scsiport!spstartiosynchronized

  • Miniporta! HwStartIo

A rotina scsiport!scsiportnotification é chamada logo após uma solicitação ser enviada para o miniporto. Portanto, se você definir um ponto de interrupção no scsiport!scsiportnotification e executar um backtrace de pilha usando kb 3, poderá determinar se o miniporto está recebendo e concluindo solicitações. Se o primeiro parâmetro for zero, a solicitação foi concluída. Se o primeiro parâmetro for diferente de zero, o terceiro parâmetro será o endereço do SRB (bloco de solicitação SCSI) que não está sendo concluído e você poderá usar a extensão !minipkd.srb para analisar ainda mais a situação.

Colocando um ponto de interrupção em scsiport!spstartiosynchronized ou miniport! HwStartIo causará uma interrupção pouco antes de enviar uma solicitação para o miniporto.