- Coletar a saída de depuração de todo o sistema e eventos críticos do sistema
- Usar o editor de regras para filtrar e personalizar a saída
- Separar os fluxos de saída em várias guias de saída
- Salvar e distribuir suas regras e configurações personalizadas
- Obter monitoramento e controles detalhados de processos
- Criar e gerenciar despejos de memória de triagem, heap e mini
Conteúdo
Abrir o xbWatson
O xbWatson pode ser aberto em um prompt de comando do GDK, no XBOX Manager ou pesquisando xbWatson no menu Iniciar. O xbWatson se conectará ao seu console padrão, a menos que isso seja substituído fornecendo o IP ou o nome do host de um console de teste na linha de comando. Abrir o xbWatson pela linha de comando, usando o console padrão:

Substituições de configuração
Na inicialização, o xbWatson carrega um arquivo de configuração padrão chamado defaultconfig.txt, localizado em %localappdata%\Microsoft\XBOX One Development Kit\xbWatson\3.0. Esse arquivo salva o estado das guias de saída, sua configuração, as regras e as regras aplicadas. Esse arquivo pode ser compartilhado com outros usuários do GDK para que eles possam abrir rapidamente uma sessão do xbWatson com configurações personalizadas. Você pode carregar uma configuração compartilhada fazendo o seguinte:- Salvando por cima do arquivo defaultconfig.txt local.
- No Windows, arrastando e soltando um arquivo sharedconfig.txt sobre o xbWatson.exe.
- Abrindo o xbWatson.exe com uma opção de linha de comando que aponte para o arquivo de configuração salvo (por exemplo, xbwatson.exe E:\MyConfig\sharedconfig.txt)
Loading configuration ‘C:\Users\UserName\AppData\Local\Microsoft\XBOX One Development Kit\xbWatson\3.0\defaultConfig.txt’.
Recursos
O xbWatson tem recursos que permitem ver e configurar a saída na janela de saída principal, aplicar regras de saída pelo editor e pelo menu, filtrar o tipo de saída pelo menu de feeds de dados e gerenciar recursos avançados no Dashboard relacionados ao diagnóstico de log, à lista de processos do Game OS e à geração e gerenciamento de despejos de pilha.Janela de saída principal
A janela de saída principal consiste na barra de título, nas guias de saída, no Rule Editor e no dashboard, conforme mostrado na figura 1. Figura 1. xbWatson
Barra de título
Quando o xbWatson está conectado a um console, a barra de título fica verde e exibe os detalhes da conexão, conforme mostrado na figura 2. Figura 2. Barra de título (conectado)
Guias de saída
Na inicialização, há uma guia de saída padrão. Você pode criar mais guias de saída clicando no sinal de mais (+) à direita da última guia. Você pode remover uma guia de saída clicando no x no lado direito dessa guia. Você pode renomear a guia clicando no nome (Output). Quando há saída de depuração vindo do console, a luz de atividade dessa guia pisca. Os dados podem ser copiados da janela de saída realçando ou selecionando o texto e usando os comandos de cópia padrão do Windows para movê-lo de e para a área de transferência. Em cada guia de saída, você tem os seguintes menus de opções para configurar essa guia.Menu Add/Remove Rules
Use o menu Add/Remove Rules para ativar ou desativar uma regra na guia de saída atual, conforme mostrado na figura 3. Para obter mais informações sobre como criar regras, veja a seção Rule Editor mais adiante neste tópico. Figura 3. Menu Add/Remove Rules
Menu Data feeds
Use o menu Data feeds para configurar os fluxos de saída mostrados pela guia de saída atual, conforme mostrado na figura 4. Figura 4. Menu Data feeds

Rule Editor
O Rule Editor fica no lado direito da janela de saída principal, conforme mostrado na figura 6. Figura 6. Rule Editor
- Clique em New no painel esquerdo. Uma nova regra em branco é criada.
- Dê um nome à regra.
- Adicione uma nova condição.
- Corresponder à expressão regular: insira uma cadeia de caracteres regex a ser avaliada.
- Adicione uma ação (a ser executada após a condição ser correspondida com êxito):
- Change color: abre um seletor de cores para alterar o texto correspondente.
- Acquire stack dump: dispara o tipo de despejo de pilha selecionado.
- Include text: exibe apenas o texto.
- Exclude text: não exibe o texto.
- Disable this rule: interrompe a execução desta regra. Isso é útil para permitir que você obtenha um despejo de pilha uma única vez durante uma execução de teste automatizada.
- Set trigger to break: suspende o processo e o prepara para a anexação de um depurador.
- Invasively attach: anexa o xbWatson como depurador ao processo.
- Remove invasive attach: remove o xbWatson como depurador.
- Flash window: faz o ícone do xbWatson piscar na barra de tarefas.
- Show banner message: mostra uma mensagem de faixa na parte superior da janela de saída e muda a luz de atividade dessa guia para vermelho para chamar sua atenção.
- Clear banner message: remove a mensagem de faixa da parte superior da janela de saída.
- Enable other rule: habilita a regra especificada para esta guia de saída.
- Disable other rule: desabilita a regra específica para esta guia de saída.
- Salve a regra.
Fique atento ao botão toggle multi-select ao aplicar regras pelo editor de regras. Apenas as regras selecionadas no momento são aplicadas.
Dashboard
Clicar na seta para cima na parte inferior da janela de saída principal abre o dashboard, conforme mostrado na figura 7. Com o dashboard minimizado, há luzes de status do dashboard no canto inferior esquerdo da janela. Essas luzes de status correspondem aos itens do dashboard. Elas piscam ou mudam de cor para indicar fluxo de dados ou uma alteração de status. Figura 7. Dashboard
Log
O log contém informações relacionadas ao próprio xbWatson e à conexão do xbWatson com o kit de desenvolvimento. Você pode ver qual arquivo de configuração foi carregado na inicialização, qual endereço IP ou cadeia de conexão salva está sendo contatado e outras informações de depuração sobre o xbWatson. Esse item do dashboard fica vermelho se houver um problema de conexão com o kit de desenvolvimento.Game OS
Quando um título não está em execução no kit de desenvolvimento, esse item do dashboard fica amarelo e mostra que os dados do processo não estão disponíveis. Sem um título em execução, você pode ver um conjunto mínimo de dados sobre as configurações do kit de desenvolvimento. Quando um título está em execução, você pode ver dados estendidos semelhantes aos do Gerenciador de Tarefas do Windows. A cor da linha indica o status da seguinte forma, conforme mostrado na figura 8.- Verde: ocorreu uma alteração nos dados do processo nos últimos cinco segundos.
- Vermelho: o processo foi encerrado.
- Laranja: o processo está suspenso, o que inclui depuração (interrupção).
- Azul: há um depurador anexado, incluindo o xbWatson como anexação invasiva.

- Terminate: clicar em um processo ativo e depois no botão Terminate encerra o processo.
- Break (debug): suspende o processo e o prepara para a anexação de um depurador.
- Resume: remove a interrupção de depuração e retoma o processo.
- Monitor: anexa o xbWatson como depurador invasivo. Apenas um depurador invasivo pode ser anexado a um processo por vez, portanto conectar o xbWatson dessa forma impede que o Visual Studio se conecte ao processo. Várias instâncias do xbWatson compartilham essa anexação. A desanexação é automática se todas as instâncias do xbWatson forem fechadas. Depois de habilitado, o feed de dados de depuração do processo (disponível na interface do usuário de configuração do fluxo de saída) começa a receber dados. A cadeia de caracteres de depuração de saída passa pelo fluxo de depuração do processo depois de anexado.
- Detach: remove o xbWatson como depurador invasivo.
Despejos de memória
Use o menu Memory Dump para gerar um despejo de memória ou acessar os despejos de travamento de quiesce. Despejos de memória heap, mini ou de triagem podem ser criados para o título em execução no console. Os despejos gerados são armazenados localmente no console e podem ser baixados pelo botão Download, localizado abaixo da tabela Manual Memory Dumps. O botão Generate só fica disponível se um título estiver em execução e for capaz de gerar despejos de memória dessa forma. O xbWatson tem como destino o jogo em execução (ID do processo) que corresponde a um nome de imagem de jogo registrado no console. O painel Memory Dump só permite o gerenciamento de despejos de memória quando o título está em execução. As operações de geração e de download fazem a luz de ocupado do dashboard piscar, indicando atividade. Os despejos de travamento de quiesce são criados automaticamente se ocorrer um tempo limite de suspensão e nenhum depurador estiver anexado. Esses despejos são úteis para determinar por que o manipulador de suspensão do título não foi concluído dentro do tempo necessário. A luz do dashboard pisca para indicar a disponibilidade de um despejo de travamento de quiesce. Os despejos de travamento disponíveis são listados na tabela Quiesce Memory Dumps. Use o botão Download abaixo da tabela para copiar um despejo de travamento de quiesce para o seu PC de desenvolvimento. Veja Depurar transições entre os estados do ciclo de vida do jogo para obter uma descrição completa dos recursos fornecidos no Microsoft Game Development Kit (GDK) para depurar os manipuladores de suspensão e retomada necessários para o suporte ao ciclo de vida do jogo. Figura 9. Despejos de memória e de travamento de quiesce
Memória do jogo
Apresenta uma exibição semelhante à do Gerenciador de Tarefas do estado do console ao qual o xbWatson está conectado. O dashboard Game Memory atualmente se concentra no consumo de memória de título e de ferramentas. Outras estatísticas, como estatísticas de CPU ou de E/S de arquivos, serão adicionadas em versões futuras.
