Compartilhar via


Troubleshooting: Debugging a Driver

Windows Mobile Not SupportedWindows Embedded CE Supported

9/8/2008

A seguinte tabela mostra as descrições e resoluções de problemas Você pode encontrar ao depuração seu driver.

Descrição Resolução

Você desejar para depuração ou executar específico módulos, mas você não desejar incluí-los ou não é possível inclui-los em seu executar-imagem tempo.

Estabelecer uma conexão depuração para sua plataforma, local e os módulos na % _FLATRELEASEDIR % no seu computador hospedar.

O terminal emulador em seu desenvolvimento estação de trabalho não está recebendo saída a partir de porta serial no seu dispositivo destino.

Garantir que você tenha a configuração conexão correta. A seguinte lista mostra as configurações corretas conexão:

  • Geralmente bits por segundo 38400.
    Para obter mais informações sobre recebendo mensagens de porta serial no seu dispositivo destino, consulte Configuring HyperTerminal for BSPs.
  • 8 bits dados.
  • Sem paridade.
  • bit 1 parar.
  • Nenhum controle fluxo.

Não é possível definir pontos de interrupção.

Certifique-se de que seu arquivos .dll, .pdb e .Map sejam no Diretório a versão de seu projeto.

Para obter mais informações nos diretórios versão, consulte Troubleshooting: Building a Driver.

Você pode definir uma ponto de interrupção, modificando o executado codificar. Pontos de Interrupção inserir um inválido instrução e o depurador terá controle. Não é possível depuração um arquivo .dll ou .exe que está executando out of memória flash ROM ou memória, a menos que você executar uma do seguinte tarefas:

  • Forçar seu codificar para executar a partir memória RAM. Uma maneira para fazer isso é adicionar o sinalizador compactar para a seção para o módulo no arquivo .bib. O sistema irá automaticamente descompactar seu módulo em memória RAM antes de executar suas instruções. Para obter mais informações sobre arquivos .bib, consulte Binary Image Builder File.
  • Você pode mover o módulo para a seção Arquivos de seu arquivo .bib. Para obter mais informações sobre a seção Arquivos de um arquivo .bib, consulte FILES Section.
  • Se você tiver habilitado controle de destino, você pode deixar o módulo out of a imagem e ele será baixado a partir de % _FLATRELEASEDIR % automaticamente. Para obter mais informações sobre controle de destino, consulte Target Control Window.
  • Se depuração hardware suporte está disponível para seu dispositivo destino, como por uma investigação JTAG, talvez seja possível para depuração módulos-com base em ROM sem copiá-los para memória RAM.

Construtor de Expressões plataforma não reconhece os pontos de interrupção.

Certifique-se de que a executar-tempo imagem está em um estado interromper. Se você tiver uma conexão para seu dispositivo destino e a executar imagem tempo é execução, a partir de Depurar menu, escolher Interromper. Agora você pode definir pontos de interrupção. Você também pode definir pontos de interrupção antes de baixar seu executar-imagem tempo ao dispositivo de destino.

Se esta solução não trabalho, insira a macro DebugBreak na sua codificar origem onde você deseja que a execução parar. Isso causa uma exceção ponto de interrupção para ocorrer no atual processo de modo que o segmento chamado pode sinalizar o depurador em todos os casos.

Você desejar depuração mensagens de sistema DLLs.

A partir de Destino menu, escolher Zonas de depuração. Será exibida uma lista das DLLs carregadas no momento. Escolha o DLL que desejar para depuração e, em seguida, uma lista de depuração zonas serão exibidas. Selecione a depuração zonas que você desejar ativar. A guia depuração na janela de saída exibe mensagens de depuração.

Você pode definir zonas depuração sob a HKEY_CURRENT_USER\Pegasus\Zones chave Registro no estação de trabalho de desenvolvimento.

Você também pode definir zonas depuração sob a HKEY_LOCAL_MACHINE\DebugZones chave Registro no dispositivo de destino. Este será trabalho mesmo se você não tiver habilitado controle de destino. Um desses métodos permite que você defina valores usar como padrão para a depuração zonas para que você possa recuperar informações da depuração quando o módulo é carregado para o primeiro tempo. Se você tiver acessar para codificar a origem, você poderá editar o ulZoneMask valor in a dpCurSettings estrutura de dados contidos o módulo e em seguida, recompilar o codificar origem.

Para obter mais informações, consulte Registering Debug Zones.

See Also

Tasks

Troubleshooting a Device Driver

Other Resources

How-to Topics