Partilhar via


0x15E de Verificação de Bugs: BUGCODE_NDIS_DRIVER_LIVE_DUMP

O despejo ao vivo BUGCODE_NDIS_DRIVER_LIVE_DUMP tem um valor de 0x0000015E. Esse código de bug indica que o NDIS capturou um despejo de kernel dinâmico. O NDIS não gera um bug marcar nessa situação.

Parâmetros de BUGCODE_NDIS_DRIVER

O parâmetro 1 indica o tipo de violação. O significado dos outros parâmetros depende do valor do Parâmetro 1. Se o valor de um Parâmetro for "0", isso significa que ele não é usado.

Parâmetro 1 Valor do parâmetro 1 e causa do erro Parâmetro 2 Parâmetro 3 Parâmetro 4

0x01

NDIS_BUGCHECK_MINIPORT_FATAL_ERROR

Um driver de miniporta encontrou um erro fatal e solicitou a renumeração.

O endereço do bloco de miniporto. Execute !ndiskd.minidriver com este endereço para obter mais informações.

O endereço do PDO (Objeto de Dispositivo Físico) do miniport

O erro fatal que causou a tomada desse despejo ao vivo. Valores possíveis:

  1. 70: Causado pelo modo de usuário
  2. 71: Causado por NdisMRemoveMiniport
  3. 72: Causado por falha de NdisIMInitializeDeviceInstanceEx
  4. 73: Causado por falha de MiniportRestart
  5. 74: Causado por falha em uma solicitação de OID_PNP_SET_POWER (D0)
  6. 75: Causado pela falha de uma solicitação de OID_PNP_SET_POWER (Dx)

0x25

NDIS_BUGCHECK_WATCHDOG

Uma tentativa de gerenciar a pilha de rede demorou muito. Quando o NDIS chama outros drivers, o NDIS inicia um temporizador de watchdog para garantir que a chamada seja concluída imediatamente. Se a chamada demorar muito, o NDIS injetará uma verificação de bugs.

Isso pode ser causado por um simples deadlock. Procure com "!stacks 2 ndis" ou semelhante para ver se algum thread parece suspeito. Preste atenção especial ao PrimaryThread do NDIS_WATCHDOG_TRIAGE_BLOCK.

Isso pode ser causado por NBLs perdidas, caso em que !ndiskd.pendingnbls pode ajudar. Verifique se há OIDs que estão presos usando !ndiskd.oid.

A operação que demorou muito. Valores possíveis:

  • 0x01: NDIS_BUGCHECK_WATCHDOG_PROTOCOL_PAUSE

    Houve um tempo limite ao pausar um driver de protocolo.

  • 0x02: NDIS_BUGCHECK_WATCHDOG_PROTOCOL_NETPNPEVENT

    Houve um tempo limite enquanto entregava uma NET_PNP_EVENT_NOTIFICATION a um driver de protocolo.

  • 0x03: NDIS_BUGCHECK_WATCHDOG_PROTOCOL_STATUS_INDICATION

    Houve um tempo limite durante a entrega de uma indicação de status para um driver de protocolo.

  • 0x04: NDIS_BUGCHECK_WATCHDOG_PROTOCOL_UNBIND

    Houve um tempo limite durante a desassociação de um driver de protocolo.

  • 0x11: NDIS_BUGCHECK_WATCHDOG_FILTER_PAUSE

    Houve um tempo limite ao pausar um driver de filtro.

  • 0x12: NDIS_BUGCHECK_WATCHDOG_FILTER_NETPNPEVENT

    Houve um tempo limite durante a entrega de uma NET_PNP_EVENT_NOTIFICATION para um driver de filtro.

  • 0x13: NDIS_BUGCHECK_WATCHDOG_FILTER_STATUS_INDICATION

    Houve um tempo limite durante a entrega de uma indicação de status para um driver de filtro.

  • 0x14: NDIS_BUGCHECK_WATCHDOG_FILTER_DETACH

    Houve um tempo limite ao desanexar um driver de filtro.

  • 0x21: NDIS_BUGCHECK_WATCHDOG_MINIPORT_PAUSE

    Houve um tempo limite ao pausar um adaptador de miniporta.

  • 0x22: NDIS_BUGCHECK_WATCHDOG_MINIPORT_HALT

    Houve um tempo limite ao parar um adaptador de miniporta.

  • 0x23: NDIS_BUGCHECK_WATCHDOG_MINIPORT_OID

    Houve um tempo limite durante a entrega de uma solicitação OID para um adaptador de miniport.

  • 0x24: NDIS_BUGCHECK_WATCHDOG_FILTER_OID

    Houve um tempo limite durante a entrega de uma solicitação de OID para um driver de filtro.

  • 0x25: NDIS_BUGCHECK_WATCHDOG_MINIPORT_IDLE

    Houve um tempo limite ao usar um adaptador de miniporta.

  • 0x26: NDIS_BUGCHECK_WATCHDOG_CANCEL_IDLE

    Houve um tempo limite durante o cancelamento de uma solicitação ociosa em um adaptador de miniporta.

Convertido em ndis! NDIS_WATCHDOG_TRIAGE_BLOCK. Campos úteis:

  • StartTime mostra a hora em que a operação foi iniciada, em unidades de 100ns, conforme retornado por KeQueryInterruptTime.
  • TimeoutMilliseconds mostra quanto tempo o NDIS esperou, no mínimo, antes de disparar essa verificação de bugs.
  • TargetObject é um identificador para o protocolo, módulo de filtro ou adaptador de miniporta que o NDIS está aguardando. Execute !ndiskd.protocol, !ndiskd.filter ou !ndiskd.netadapter com esse identificador para obter mais informações.
  • PrimaryThread é o thread no qual o NDIS iniciou a operação. Normalmente, esse é o primeiro lugar a ser olhado, embora o thread possa ter ido para outro lugar se a operação estiver sendo tratada de forma assíncrona.

O valor do Parâmetro 4 depende do valor do Parâmetro 2. Cada número nessa lista corresponde ao mesmo número no Parâmetro 2.

  • 0x01: 0
  • 0x02 : a NET_PNP_EVENT_CODE do evento travado. Para obter mais informações sobre esses códigos, consulte NET_PNP_EVENT..
  • 0x03: o código NDIS_STATUS da indicação paralisada. Use !ndiskd.help para decodificá-lo.
  • 0x04: 0
  • 0x11 : 0
  • 0x12 : o NET_PNP_EVENT_CODE do evento travado. Para obter valores possíveis, consulte a lista anterior de valores para o item 2 nesta lista.
  • 0x13 : o código NDIS_STATUS da indicação paralisada. Use !ndiskd.help para decodificá-lo.
  • 0x14 : 0
  • 0x21: 0
  • 0x22 : 0
  • 0x23 : o código OID da solicitação paralisada. Use !ndiskd.help para decodificá-lo.
  • 0x24 : o código OID da solicitação paralisada. Use !ndiskd.help para decodificá-lo.
  • 0x25 : 0
  • 0x26 : 0

0x30

NDIS_BUGCHECK_STUCK_NBL

Um driver de miniporte não retorna um NBL de volta à pilha há algum tempo.

O endereço do bloco de miniporte. Execute !ndiskd.minidriver com esse endereço para obter mais informações.

0

0

Causa

A extensão de depuração !analyze exibe informações sobre o bug marcar e pode ser útil para determinar a causa raiz. O parâmetro 1 indica a causa específica da verificação de bugs BUGCODE_NDIS_DRIVER_LIVE_DUMP.

Comentários

O NDIS detectou e se recuperou de um problema sério em outro driver de rede. Embora o sistema não tenha sido interrompido, esse problema poderá causar mais tarde problemas de conectividade ou uma verificação de bug fatal.

Esse código de bug ocorre apenas em Windows 8.1 e versões posteriores do Windows.