A tradução desta página ainda não está completa. Até lá, partes incompletas mostrarão o original em inglês.
Índice
Obtendo uma conta do Trac
Criando um relatório de erro
Erros de aplicativo
Erros de servidor
Erros de Kernel
Terra da Depuração do Kernel - KDL
Relatório de Sistema
Saída de depuração na tela
Erros de Dispositivo/Driver
O que vem a seguir?

Reportando erros

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.

Para manter nosso rastreador de erros eficaz, é essencial obedecer à Etiqueta do Rastreador de Erros.

index Obtendo uma conta do Trac

Para arquivar um tíquete, é necessária uma conta no Rastreador de Erros do Haiku.
Ao criar uma nova conta, certifique-se de informar seu endereço de correio eletrônico, necessário para obter privilégios básicos para modificação do tíquete. Assegure-se de verificar sua pasta de correspondência indesejada logo depois, afinal toda verificação de correios importantes costuma acabar aí.

index Criando um relatório de erro

Antes de reportar um erro, por favor certifique-se de que ele ainda não existe. Pode-se também utilizar a função de pesquisa para isso.
Após constatar que é um erro original, torne sua informação a mais acurada possível:

index Erros de Aplicativo

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 bt, cria-se um "rastro" que deverá ser copiado inteiramente (incluindo a parte antes de executar o comando bt) e anexado ao tíquete.

index Erros de servidor

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.
Besides everything being more ugly and inconvenient, basically the same applies as for application bugs. Most importantly procure a back trace (bt 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.
Depending on what exactly crashed, you can try to save a crash report on the Desktop with save-report and then press the power button once to try shutting cleanly down.

index Erros do Kernel

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:

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 /boot/system/add-ons/kernel/drivers/bin).

index Terra da Depuração do Kernel - KDL

Se o sistema não entrar no KDL por si mesmo, pode-se fazê-lo intencionalmente invocando através do atalho de teclado ALT SysReq D.
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.

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:

bt (conhecido como sc) Exibe um rastro. Se o sistema entrar no KDL por sua própria vontade, sempre o execute.
ints Mostra as interrupções de dispositivos tratadas e não tratadas.
co (conhecido como continue) Sai do depurador do kernel e continua a operação normal do sistema, se for possível.
reboot 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.

Para mais informações, veja o artigo Bem vindo à Terra da Depuração do Kernel.

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).

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 QR codifica sua saída do KDL sobre como obter saída de dados do KDL utilizando aquela funcionalidade.

index Relatório de sistema

This is the preferred method for gaining information from a non-booting system.
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 /boot/system/var/log/syslog. 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).

The option Enable debug syslog in the boot loader's Debug menu makes the syslog persistent. If the option Save syslog from previous session during boot is activated in the boot loader options (as it is by default), you'll find the syslog of your last session as /boot/system/var/log/previous_syslog.
If you're not able to boot to get to the previous_syslog, you have to enter the boot loader menu by holding down SHIFT while booting.
In the boot loader's Debug menu you should find the entries Display syslog from previous session and Save syslog from previous session. 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.

index Saída de depuração na tela

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.
Isto é relevante apenas quando o Haiku falha ao inicializar na sua máquina e a Opção de relatório de sistema do depurador não funciona por alguma razão. Antes da logo de inicialização do Haiku aparecer, pressione SHIFT para entrar no menu do carregador de inicialização. Selecione Selecionar opções de modo seguro. Próximo do fim, [ ] Habilitar saída de depuração na tela 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.)
Finalmente selecione Voltar para o menu principal e então Continuar a inicialização.
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 Carregador de Inicialização.

index Erros de Dispositivo/Driver

Enquanto estiver lidando com um erro relativo a dispositivo/driver, deve-se anexar as seguintes informações como arquivos de texto:

- listdev Uma lista detalhada do seu dispositivo, incluindo fornecedor e id's pci, similar ao lshw e lspci do Linux.
- listusb -v Supondo que seja um problema relacionado a USB, é similar ao lsusb.
- open /var/log/syslog O relatório primário de sistema utilizado pelo Haiku, parecido com a depuração na tela durante a inicialização. Com o comando open pode-se cortar a parte relevante do relatório de sistema em um editor de texto.
- listimage | grep drivers/ Lista todos os drivers utilizados.
- ints Apenas disponível na Terra da Deupração do Kernel (ver acima). Exibe a utilização das interrupções. There shouldn't be too many that are shared by different devices.
- Saída de depuração na tela (Uma opção de modo de segurança em tempo de inicialização).

Os primeiros quatro comandos são executados no Terminal. Adicione um > output.txt 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.

index

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.

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'.