<p>Uma vez que nossos desenvolvedores não são capazes de testar todas as combinações de hardware nem todas as diferentes formas de interação com o sistema operacional, nós contamos com os usuários para dar-nos algum retorno sobre como as coisas funcionam em seu equipamento. Uma vez que o Haiku é ainda um tanto jovem, é muito provável que irá encontrar erros. Agradecemos por dispor de tempo para reportá-los. Juntos melhoraremos o Haiku, bit a bit.</p>
<p>Para manter nosso rastreador de erros eficaz, é essencial obedecer à <ahref="http://dev.haiku-os.org/wiki/BugTrackerEtiquette">Etiqueta do Rastreador de Erros</a>.</p>
<p>Para arquivar um tíquete, é necessária uma conta no <ahref="http://dev.haiku-os.org/register"title="Registro no Rastreador de Erros do Haiku">Rastreador de Erros do Haiku</a>.<br/>
Ao criar uma nova conta, certifique-se de <b>informar seu endereço de correio eletrônico</b>, necessário para obter privilégios básicos para modificação do tíquete. Assegure-se de <b>verificar sua pasta de correspondência indesejada</b> logo depois, afinal toda verificação de correios importantes costuma acabar aí.</p>
<p>Antes de reportar um erro, por favor <ahref="http://dev.haiku-os.org/query?status=new&status=assigned&status=reopened&status=closed&summary=%7Etext+you+want+to+search+for&order=priority">certifique-se</a> de que ele ainda não existe. Pode-se também utilizar a função de <ahref="http://dev.haiku-os.org/search?q=&noquickjump=1&ticket=on">pesquisa</a> para isso.<br/>
Após constatar que é um erro original, torne sua informação a mais acurada possível:</p>
<li><p>Tente reproduzir o problema na versão atual do Haiku. Imagens pré-compiladas para o propósito de testes estão<ahref="http://haiku-files.org/">disponíveis</a>.</p></li>
<li><p>Mention which revision you are running. You can find this information in <spanclass="menu">About Haiku...</span> from the Deskbar menu. Also mention what kind of Haiku build you are testing (gcc2, gcc4, gcc2hybrid, gcc4hybrid). The downloadable images are named accordingly, for a self-built image you should know how you built it.</p></li>
<li><p>Descreva o problema que está experimentando. Tente ser o mais acurado possível: descreva o comportamento atual e o comportamento que deseja.</p></li>
<li><p>Descreva que passos precisa realizar a fim de expor o erro. Isto ajudará os desenvolvedores a reproduzir o erro.</p></li>
<li><p>Anexe toda a informação que tiver. Se é um erro de interface gráfica, ou um erro em um dos aplicativos, tente obter uma imagem da tela pressionando a tecla <spanclass="key">PRINT</span>.</p></li>
<p>Quando um aplicativo trava, deve-se executar o depurador a partir do alerta que aparece na tela. Isto abrirá uma janela do Terminal com o gdb (o depurador GNU) rodando nele. Executando <spanclass="cli">bt</span>, cria-se um "rastro" que deverá ser copiado inteiramente (incluindo a parte antes de executar o comando <spanclass="cli">bt</span>) e anexado ao tíquete.</p>
<p>When vital servers like the app server, the registrar or the input server crash, you won't see the usual crash alert. Instead the whole screen will be cleared white and a gdb session will be started, its output appearing directly on screen. Likely you will still be able to move the mouse, which will overwrite the white and gdb output on screen. Applications still running (like ProcessController or the clock in the Deskbar) might also draw over the debugger output on screen.<br/>
Besides everything being more ugly and inconvenient, basically the same applies as for application bugs. Most importantly procure a back trace (<spanclass="cli">bt</span> command). You may need to take a picture of the screen with a digital camera, since you won't be able to copy the text anywhere.<br/>
Depending on what exactly crashed, you can try to save a crash report on the Desktop with <spanclass="cli">save-report</span> and then press the power button once to try shutting cleanly down.</p>
<p>Erros de Kernel são sempre os únicos com os efeitos mais graves e ao mesmo tempo os mais difíceis de depurar. Existem diferentes tipos de sintomas, os quais mais provavelmente apontam um problema de kernel ou de driver:</p>
<li><p>O sistema aciona a Terra da Depuração do Kernel (KDL) por si mesmo. A parte superior da tela torna-se branca e várias linhas de texto são mostradas. A segunda linha diz "<i>Bem vindo a Terra da Depuração do Kernel...</i>", a linha acima dela afirma a razão imediata para entrar na KDL.</p></li>
<li><p>O sistema reinicia espontaneamente.</p></li>
<li><p>O sistema congela completamente. Não se pode mover o mouse e nenhum aplicativo faz nada mais. Um importante teste naquela situação é, se ainda puder entrar na KDL pelo atalho <spanclass="key">ALT</span><spanclass="key">SysReq</span><spanclass="key">D</span> (<spanclass="key">SysReq</span> sendo <spanclass="key">PRINT</span> na maioria dos teclados). Aguarde ao menos um minuto para ver se algo acontece.</p></li>
<li><p>O sistema não inicializa corretamente. Ele pode reiniciar espontaneamente ou pára em algum ponto (por exemplo, em algum ícone da tela de inicialização). No último caso tente também <spanclass="key">ALT</span><spanclass="key">SysReq</span><spanclass="key">D</span>.</p></li>
<li><p>O sistema inteiro ou alguma parte do equipamento não se comporta corretamente. Por exemplo, ele pode ficar muito lento, ocorrerem erros ou algo não funcionar absolutamente, a primeira verificação óbvia é se o Haiku já o suporta completamente (por exemplo, perguntando em uma lista de discussão ou num fórum).</p></li>
<p>Observe que enquanto o último ponto parece indicar uma relação com hardware, todos os outros sintomas podem ser causados também por um erro num driver de dispositivo. Caso tenha uma suspeita de que parte do hardware ou o driver correspondente pode ter algo a ver com o problema, verifique se removendo/desabilitando o dispositivo ou o driver faz alguma diferença. Por exemplo, se há suspeita sobre o Wifi, pode-se procurar na BIOS uma opção para desabilitá-lo. Ou se não, pode remover o driver Wifi responsável a partir da sua instalação do Haiku (em <spanclass="path">/boot/system/add-ons/kernel/drivers/bin</span>).</p>
<aid="kdl"name="kdl">Terra da Depuração do Kernel - KDL</a></h3>
<p>Se o sistema não entrar no KDL por si mesmo, pode-se fazê-lo intencionalmente invocando através do atalho de teclado <spanclass="key">ALT</span><spanclass="key">SysReq</span><spanclass="key">D</span>.<br/>
Observe que no KDL seu teclado pode não funcionar. Teclados PS/2 sempre funcionam, teclados USB conectados via controladores UHCI apenas se alguém entrou no KDL via atalho de teclado ao menos uma vez. USB OHCI não é suportado no momento.</p>
<p>O KDL propriamente é uma espécie de shell. Alguém pode executar comandos que exibem informação sobre o sistema. Os seguintes comandos podem ser de interesse:</p>
<tr><td><spanclass="cli">bt</span> (conhecido como sc)</td><td></td><td>Exibe um rastro. Se o sistema entrar no KDL por sua própria vontade, sempre o execute.</td></tr>
<tr><td><spanclass="cli">ints</span></td><td></td><td>Mostra as interrupções de dispositivos tratadas e não tratadas.</td></tr>
<tr><tdclass="onelinetop"><spanclass="cli">co</span> (conhecido como continue)</td><td></td><td>Sai do depurador do kernel e continua a operação normal do sistema, se for possível.</td></tr>
<tr><td><spanclass="cli">reboot</span></td><td></td><td>Reinicia o sistema imediatamente. Perder-se-á todos os dados não salvos e até mesmo aqueles que tenham sido salvos, mas que não tenham sido gravados no disco.</td></tr>
<p>Para mais informações, veja o artigo <ahref="http://www.haiku-os.org/documents/dev/welcome_to_kernel_debugging_land">Bem vindo à Terra da Depuração do Kernel</a>.</p>
<p>A saída do KDL é enviada para uma porta serial (caso tenha um, um cabo respectivo e um segundo computador conectado a ele, pode-se capturar a saída lá através de um programa de terminal) e para o relatório do sistema. Entretanto, se não puder sair do KDL ela não será escrita no arquivo de relatório do sistema. Todavia, existe uma opção de depuração do carregador da inicialização que permite capturá-la (veja abaixo).</p>
<p>Pode-se gerar códigos QR a partir da saída do KDL que pode então ser convertido para texto utilizando smartphones ou dispositivos similares. Veja a postagem de blog <ahref="http://www.haiku-os.org/blog/mmlr/2012-07-01_qr_encode_your_kdl_output">QR codifica sua saída do KDL</a> sobre como obter saída de dados do KDL utilizando aquela funcionalidade.</p>
The syslog (short for system log) contains valuable information about what has happened in your system, including the output of KDL sessions. It's usually a good idea to attach it to the kernel related Trac ticket. The syslog is written to the file <spanclass="path">/boot/system/var/log/syslog</span>. Since writing to a file requires a working system, the most recent output might not have made it to the syslog when a kernel problem occurs (particularly on spontaneous reboots or uncontinuable KDL sessions).</p>
<p>The option <spanclass="menu">Enable debug syslog</span> in the boot loader's <spanclass="menu">Debug menu</span> makes the syslog persistent. If the option <spanclass="menu">Save syslog from previous session during boot</span> is activated in the boot loader options (as it is by default), you'll find the syslog of your last session as <spanclass="path">/boot/system/var/log/previous_syslog</span>.<br/>
If you're not able to boot to get to the previous_syslog, you have to enter the boot loader menu by holding down <spanclass="key">SHIFT</span> while booting.<br/>
In the boot loader's <spanclass="menu">Debug menu</span> you should find the entries <spanclass="menu">Display syslog from previous session</span> and <spanclass="menu">Save syslog from previous session</span>. The former displays the syslog on screen, the latter allows you to save it as a file to disk. Note that at the moment only FAT32 volumes are supported for saving the file. If you want to use a USB stick, but have plugged it in too late so that it isn't recognized yet, you can reset the machine and re-enter the boot loader menu. Note: Don't accidentally boot any operating system or the data will be lost.</p>
<p><b>A saída em tela é útil apenas para depurar problemas muito específicos e é conhecido por ter problemas (de tempo). Não a utilize, se não precisar.</b><br/>
Isto é relevante apenas quando o Haiku falha ao inicializar na sua máquina e a <spanclass="menu">Opção de relatório de sistema do depurador</span> não funciona por alguma razão. Antes da logo de inicialização do Haiku aparecer, pressione <spanclass="key">SHIFT</span> para entrar no menu do carregador de inicialização. Selecione <spanclass="menu">Selecionar opções de modo seguro</span>. Próximo do fim, <spanclass="menu">[ ] Habilitar saída de depuração na tela</span> será listada. (Observação: As outras opções podem ser habilitadas numa tentativa de inicializar o Haiku. Se o Haiku inicializar apenas quando uma ou mais opções forem ativadas, assegure-se de mencionar quais são.)<br/>
Finalmente selecione <spanclass="menu">Voltar para o menu principal</span> e então <spanclass="menu">Continuar a inicialização</span>.<br/>
Uma ou mais páginas de texto serão exibidas na tela, apenas as últimas poucas linhas precisam ser incluídas no seu tíquete. Há mais informações em <ahref="../../userguide/pt_BR/bootloader.html">Carregador de Inicialização</a>.</p>
<tr><td>- <spanclass="cli">listdev</span></td><td></td><td>Uma lista detalhada do seu dispositivo, incluindo fornecedor e id's pci, similar ao <spanclass="cli">lshw</span> e <spanclass="cli">lspci</span> do Linux.</td></tr>
<tr><td>- <spanclass="cli">listusb -v</span></td><td></td><td>Supondo que seja um problema relacionado a USB, é similar ao <spanclass="cli">lsusb</span>.</td></tr>
<tr><td>- <spanclass="cli">open /var/log/syslog</span></td><td></td><td>O relatório primário de sistema utilizado pelo Haiku, parecido com a depuração na tela durante a inicialização. Com o comando <spanclass="cli">open</span> pode-se cortar a parte relevante do relatório de sistema em um editor de texto.</td></tr>
<tr><tdclass="onelinetop">- <spanclass="cli">listimage | grep drivers/</span></td><td></td><td>Lista todos os drivers utilizados.</td></tr>
<tr><td>- <spanclass="cli">ints</span></td><td></td><td>Apenas disponível na <i>Terra da Deupração do Kernel</i> (ver acima). Exibe a utilização das interrupções. There shouldn't be too many that are shared by different devices.</td></tr>
<tr><tdcolspan="3">- Saída de depuração na tela (Uma opção de modo de segurança em tempo de inicialização).</td></tr>
<p>Os primeiros quatro comandos são executados no Terminal. Adicione um <spanclass="cli">> output.txt</span> após um comando e ele será direcionado para um arquivo de texto chamado "output.txt" que pode ser anexado a seu relatório de erro ou mensagem de correio eletrônico.</p>
<aid="next"name="next">O que vem a seguir?</a></h2>
<p>Após o erro ter sido reportado, um desenvolvedor irá dar uma olhada e tentar classificá-lo. Lembre-se, nós somos voluntários e, como tais, algumas vezes um relatório de erro pode ficar sem resposta por um tempo. Adicionar informação nova quando disponível geralmente ajuda a selecionar o problema mais rapidamente, mas não tente 'incrementar' o erro adicionando comentários não descritivos.</p>
<p>Lembre-se, reportar um erro não é algo a que se dispensa um pouco de tempo e então está resolvido. Se reportou um erro, então você é parte do processo de desenvolvimento do Haiku. Desenvolvedores podem aparecer com perguntas enquanto eles estão tentando consertar o erro. Por favor esteja disponível para respondê-los. Considere sua participação 'terminada' quando o erro estiver marcado como 'corrigido'.</p>