Primeiro de tudo, eu sei que não posso obter uma resposta adequada para o meu problema, mas estou procurando maneiras de começar a depuração e / ou talvez verificar algum processo do Windows em ficar preso ou com defeito.
Estou desenvolvendo um aplicativo que se conecta a uma impressora de cartão inteligente pela ethernet.
O problema é: estou usando um SDK do fabricante das impressoras e elas parecem se recusar a ajudar a resolver meu problema ou simplesmente não o conhecem melhor. (Impressora: Zebra ZXP Series 3)
A impressora possui codificadores Smartcard embutidos (para cartões de contato e sem contato).
Depois de tentar se conectar a esses codificadores, o meu programa (uma chamada simples para uma função do SDK) lança toda a vez após a reinicialização da minha máquina após a instalação inicial dos drivers uma exceção System.AccessViolation.
Eu sei que esse problema é muito específico no driver e obter uma solução para isso pode ser impossível, mas estou tentando reunir informações sobre como analisar os problemas que essa exceção cria.
A conexão, obviamente, falhou. Mas depois o Windows começa a agir estranhamente, ou seja, o Gerenciador de Dispositivos fica meio corrompido:
Tentar conectar qualquer dispositivo por USB falhará e o Gerenciador de dispositivos não se contorcerá um único bit. Se eu tentar desativar qualquer outro driver no Gerenciador de dispositivos, ele irá congelar e o mmc.exe
consumirá todos os recursos da minha CPU. (Excluí mmc.exe para ter algo em comum ao meu problema)
Minha suposição é que o SDK chama uma função / serviço do Windows para se conectar ao dispositivo, mas o Windows não retorna desta função / serviço em uma conexão com falha. Eu acho que sim, desde que eu não posso matar corretamente o meu programa depois que isso acontece e tem que matá-lo através do Gerenciador de Tarefas (O programa continua a funcionar de outra forma).
Além disso, se eu reiniciar o PC - o Windows fica preso na tela de desligamento. Isso também acarreta minha suposição de que um processo do Windows não terminará corretamente.
Agora à minha pergunta:
Existe algum serviço / processo do Windows que envolva o gerenciamento de conexões de drivers / dispositivos?
Você talvez conhece alguma ferramenta do Windows que possa ajudar na obtenção de informações sobre os dispositivos atualmente conectados e os logs de erros?
Ou simplesmente alguém sabe algumas maneiras de depurar problemas de driver.
Os drivers mais recentes genéricos não ajudaram.