Como configurar a depuração no modo kernel em um cabo serial manualmente
As Ferramentas de depuração para Windows oferecem suporte à depuração do kernel por meio de um cabo de modem nulo. Cabos de modem nulo são cabos seriais que foram configurados para enviar dados entre duas portas seriais. Não confunda cabos de modem nulo com cabos seriais padrão. Os cabos seriais padrão não conectam portas seriais entre si. Para obter informações sobre como os cabos de modem nulo são conectados, consulte Cabeamento de modem nulo.
O computador que executa o depurador é chamado de computador host, e o computador que está sendo depurado é chamado de computador de destino.
Como configurar o computador de destino
Importante
Antes de usar o bcdedit para alterar as informações de inicialização, talvez seja necessário suspender temporariamente os recursos de segurança do Windows, como BitLocker e Inicialização Segura, no computador de teste. Você pode reativar a Inicialização Segura depois de concluir a depuração e desativar a depuração do kernel.
No computador de destino, abra uma janela do prompt de comando como Administrador e insira os seguintes comandos, em que n é o número da porta COM usada para depuração no computador de destino e rate é a taxa de transmissão usada para depuração:
bcdedit /debug on
bcdedit /dbgsettings depuração serialport:n taxa de transmissão:taxa
Observação A taxa de transmissão deve ser a mesma no computador host e no computador de destino. A taxa recomendada é de 115.200.
Reinicie o computador de destino.
Como iniciar uma sessão de depuração
Conecte o cabo de modem nulo às portas COM escolhidas para depuração nos computadores host e de destino.
Como usar o WinDbg
No computador host, abra o WinDbg. No menu Arquivo, escolha Depuração de kernel. Na caixa de diálogo Depuração do kernel, abra a guia COM. Na caixa Taxa de transmissão, especifique a taxa escolhida para a depuração. Na caixa Porta, digite COMn em que n é o número da porta COM que você escolheu para depuração no computador host. Selecione OK.
Você também pode iniciar uma sessão com o WinDbg inserindo o seguinte comando em uma janela do prompt de comando: n é o número da porta COM usada para depuração no computador host e rate é a taxa de transmissão usada para depuração:
windbg -k com:port=COMn,baud=rate
Como usar o KD
No computador host, abra uma janela do prompt de comando e digite o seguinte comando, em que n é o número da porta COM usada para depuração no computador host e rate é a taxa de transmissão usada para depuração:
kd -k com:port=COMn,baud=rate
Como usar variáveis de ambiente
No computador host, você pode usar variáveis de ambiente para especificar a porta COM e a taxa de transmissão. Em seguida, você não precisa especificar a porta e a taxa de transmissão cada vez que iniciar uma sessão de depuração. Para usar variáveis de ambiente para especificar a porta COM e a taxa de transmissão, abra uma janela do prompt de comando e insira os seguintes comandos, em que n é o número da porta COM usada para depuração no computador host e rate é a taxa de transmissão usada para depuração:
- set _NT_DEBUG_PORT=COMn
- set _NT_DEBUG_BAUD_RATE=rate
Para iniciar uma sessão de depuração, abra uma janela do prompt de comando e digite um dos seguintes comandos:
- kd
- windbg
Dicas de solução de problemas para depuração em um cabo serial
Especifique a porta COM correta no host e no destino
Determine o número de portas COM que você está usando para depuração nos computadores host e de destino. Por exemplo, suponha que você tenha o cabo de modem nulo conectado à COM1 no computador host e à COM2 no computador de destino.
No computador de destino, abra uma janela do prompt de comando como Administrador e digite bcdedit /dbgsettings. Se você estiver usando COM2 no computador de destino, a saída de bcdedit deverá ser debugport 2
.
No computador host, especifique a porta COM correta ao iniciar o depurador ou ao definir variáveis de ambiente. Se você estiver usando COM1 no computador host, use um dos seguintes métodos para especificar a porta COM.
- No WinDbg, na caixa de diálogo Depuração do Kernel, digite COM1 na caixa Porta.
- windbg -k com:port=COM1, ...
- kd -k com:port=COM1, ...
- set _NT_DEBUG_PORT=COM1
A taxa de transmissão deverá ser a mesma no host e no destino
A taxa de transmissão usada para depuração em um cabo serial deverá ser definida com o mesmo valor nos computadores host e de destino. Por exemplo, suponha que você tenha escolhido uma taxa de transmissão de 115.200.
No computador de destino, abra uma janela do prompt de comando como Administrador e digite bcdedit /dbgsettings. A saída de bcdedit deverá ser baudrate 115200
.
No computador host, especifique a taxa de transmissão correta ao iniciar o depurador ou ao definir variáveis de ambiente. Use um dos seguintes métodos para especificar uma taxa de transmissão de 115.200.
- No WinDbg, na caixa de diálogo Depuração do Kernel, digite 115.200 na caixa Taxa de transmissão.
- windbg -k ..., baud=115200
- kd -k ..., baud=115200
- set _NT_DEBUG_BAUD_RATE=115200
Cabeamento de modem nulo
As tabelas a seguir mostram como os cabos de modem nulo são conectados.
Conector de 9 pinos
Conector 1 | Conector 2 | Sinais |
---|---|---|
2 | 3 | Tx - Rx |
3 | 2 | Rx - Tx |
7 | 8 | RTS - CTS |
8 | 7 | CTS - RTS |
4 | 1+6 | DTR - (CD+DSR) |
1+6 | 4 | (CD+DSR) - DTR |
5 | 5 | Aterramento do sinal |
Conector de 25 pinos
Conector 1 | Conector 2 | Sinais |
---|---|---|
2 | 3 | Tx - Rx |
3 | 2 | Rx - Tx |
4 | 5 | RTS - CTS |
5 | 4 | CTS - RTS |
6 | 20 | DSR - DTR |
20 | 6 | DTR - DSR |
7 | 7 | Aterramento do sinal |
Abreviações de sinais
Abreviação | Sinal |
---|---|
Tx | Transmitir dados |
Rx | Receber dados |
RTS | Solicitar envio |
CTS | Limpar para enviar |
DTR | Terminal de dados pronto |
DSR | Conjunto de dados pronto |
CD | Detecção de operadora |
Informações adicionais
Para obter a documentação completa do comando bcdedit, consulte Referência de opções do BCDEdit.