Dica do SistemaEste artigo aplica-se a um sistema operativo diferente do que está a utilizar. Foi desactivado o conteúdo do artigo, que pode não ser relevante para si.
Esse problema normalmente ocorre porque os drivers chamam um
o IoQueueWorkItem função ou o ExQueueWorkItem função duas vezes no item de trabalho mesmo antes que o item de trabalho tenha
foi executada.
Drivers de dispositivo que alocam estaticamente tanto o IO_WORKITEM estrutura ou o WORK_QUEUE_ITEM estrutura são particularmente sujeitos a esse problema. Drivers de dispositivo
que tal um estático que realizam alocação deve garantir que não tentam
Use o item estaticamente alocado enquanto ele já está na fila.
Para depurar um sistema que parou de responder com o erro.
que é mencionado em "Sintomas", execute estas etapas:
Supondo que você instalou um driver chamado, para
exemplo, XYZ. sys, o sistema pára de responder e você recebe o erro stop
0xA mencionado anteriormente.
Inicie o depurador com os símbolos corretos e, em seguida
Siga o exemplo de depuração é descrito mais adiante neste artigo.
Este exemplo usa o depurador de kernel. Você pode utilizar KD ou WinDbg.
Você também pode usar esse método, permitindo que o verificador de driver.
O kV comando no depurador mostra a pilha. A seguinte pilha
Traço indica que WORKER_QUEUE foi corrompido.
Se você revisar a pilha na etapa 3, você pode pensar que
Fast Fat é o driver defeituoso. No entanto, o KQUEUE estrutura mostra um corrompido LIST_ENTRY:
Cancelar a referência a INTERMITÊNCIA estrutura, ela aponta para um WORK_QUEUE_ITEM (aqui, ele é, na verdade, o primeiro parâmetro em um IO_WORKITEM).
Observação A definição de estrutura para IO_WORKITEM está disponível usando o servidor de símbolos para o Windows XP e posterior
versões. A estrutura é a mesma nas versões anteriores do Windows, embora
símbolos não estão disponíveis.
Observação O conteúdo do objeto de dispositivo não mostra que ele é válido
objeto de dispositivo. No entanto, o Contexto campo é válido e o ! pool comando mostra um Pooltag de Culprit Pool Tag.
Para determinar se o endereço Routine é válido, use o ln comando no endereço de memória. Se você tiver símbolos, o resultado da
usando o ln o comando no endereço de memória deve corresponder a um endereço
o driver culpado. Portanto, dar um Palpite é que o IO_WORKITEM corresponde a um dispositivo que é feito pelo driver do pool
marca.
No código a seguir, a fila de trabalho contém um único
item. Portanto, desreferência o INTERMITÊNCIA foi uma maneira fácil de encontrá-lo. Porque a fila de trabalho pode conter.
vários itens, você deve cancelar a INTERMITÊNCIA cada item de trabalho até encontrar o trabalho item cuja INTERMITÊNCIA pontos de volta para KQUEUE.
kd> !pool 81f4a14c
Pool page 81f4a14c region is Nonpaged pool
*81f4a140 size: 2b8 previous size: 8 (Allocated) *Culprit Pool Tag
Para impedir que o sistema pare com esse erro de parada
Desligue e, em seguida, substituir o driver de dispositivo com defeito encontrado por meio do
sessão de depuração.
IMPORTANTE: Este artigo foi traduzido por um sistema de tradução automática (também designado por Machine Translation ou MT), não tendo sido portanto traduzido ou revisto por pessoas. A Microsoft possui artigos traduzidos por aplicações (MT) e artigos traduzidos por tradutores profissionais, com o objetivo de oferecer em português a totalidade dos artigos existentes na base de dados de suporte. No entanto, a tradução automática não é sempre perfeita, podendo conter erros de vocabulário, sintaxe ou gramática. A Microsoft não é responsável por incoerências, erros ou prejuízos ocorridos em decorrência da utilização dos artigos MT por parte dos nossos clientes. A Microsoft realiza atualizações freqüentes ao software de tradução automática (MT). Obrigado.
Clique aqui para ver a versão em Inglês deste artigo: 818501
(http://support.microsoft.com/kb/818501/en-us/
)
Quanto esforço foi necessário para seguir os procedimentos deste artigo?
Muito baixo
Baixo
Moderado
Alto
Muito alto
Diga-nos o porque e o que podemos fazer para melhorar esta informação
Obrigado! Seus comentários são usados para nos ajudar a aperfeiçoar o conteúdo de suporte. Para obter mais opções de ajuda, visite a Home Page de Ajuda e Suporte.