<> ||<>|| Este documento descreve como instalar pacotes de depuração no Ubuntu, que o ajudará na informação de bugs. == Gutsy Gibbon 7.10 , Hardy Heron 8.04, Intrepid Ibex 8.10, e Jaunty Jackalope 9.04 == Use esta seção somente se você está usando Ubuntu '''Gutsy 7.10''' , '''Hardy 8.04''' ou '''Intrepid 8.10''' ou ainda, '''Jaunty Jackalope'''. Veja a seção seguinte se você estiver usando uma versão anterior. 1. Adicione as seguintes linhas ao arquivo `/etc/apt/sources.list`: (respectivamente mudando o nome da versão que você está usando atualmente, '''jaunty''' para '''gutsy''' se você estiver usando a versão 7.10 ou '''hardy''' para a 8.04, ou '''intrepid''' para a 8.10). {{{ deb http://ddebs.ubuntu.com jaunty main restricted universe multiverse deb http://ddebs.ubuntu.com jaunty-updates main restricted universe multiverse deb http://ddebs.ubuntu.com jaunty-proposed main restricted universe multiverse deb http://ddebs.ubuntu.com jaunty-security main restricted universe multiverse }}} Você pode também adicionar essas linhas usando o Gerenciador de pacotes Synaptic: * Escolha ''Gerenciador de pacotes Synaptic'' através do menu ''Sistema > Administração'' * Escolha ''Repositórios'', no menu ''Preferências'' e clique na aba ''Programas de terceiros'' * Clique no botão ''Adicionar'' e digite cada linha ''deb ...'' descrita acima, uma por uma e clique no botão ''Adicionar Canal'' (você terá que adicionar estas linhas uma por vez) * Clique no botão ''Recarregar'', na barra de ferramentas assim que você adicionar todas as linhas ''deb'' acima 1. Importe a chave de assinatura dos arquivos de símbolos de depuração: {{{ gpg --keyserver keyserver.ubuntu.com --recv-key 428D7C01 gpg --check-sigs 428D7C01 # assinado pela chave de Martin Pitt gpg -o - --export 428D7C01 | sudo apt-key add - }}} 1. Então execute {{{ sudo apt-get update }}} para atualizar a lista de pacotes. 1. Os pacotes de símbolos de depuração tem o sufixo '-dbgsym' anexados. Então para instalar os símbolos de depuração para o pacote 'yelp', execute primeiro: {{{ apt-cache policy yelp }}} Isto vai mostrar primeiramente a você o número da versão instalada atualmente (vamos usar a 2.22.1-0ubuntu2.8.04.1 neste exemplo). Então, você pode executar o seguinte para instalar os símbolos de depuração: {{{ sudo apt-get install yelp-dbgsym=2.22.1-0ubuntu2.8.04.1 }}} Alternativamente, os repositórios principais do Ubuntu podem conter pacotes de símbolos de depuração '-dbg'. Estes são equivalentes aos '-dbgsym'. Você pode instalar com segurança tanto um quanto outro pacote, mas não ambos ao mesmo tempo. a. Agora você tem um [[Backtrace]]. a. Você pode executar [[Valgrind]], se o programa travar com uma "Falha de segmentação" ou "Erro de barramento". a. Opcionalmente você pode ser perguntado a produzir um [[Strace]]. a. Você pode informar este arquivo: '''~/.xsession-errors''' === Referências === * Anúncio: https://lists.ubuntu.com/archives/ubuntu-devel-announce/2006-September/000195.html == Versões anteriores do Ubuntu == Siga esta seção se você está usando uma versão do Ubuntu anterior ao Gusty 7.10. 1. Verifique se o pacote tem uma versão de depuração disponível. Em geral, os pacotes de depuração virão nomeados com o sufixo `-dbg`; 1. Se não, você pode geralmente* compilar um dessa maneira: Mantenha em mente: se você gostaria de criar uma compilação, você necessitará ter as linhas deb-src relevantes em seu arquivo /etc/apt/sources.list a. Instale os scripts de desenvolvimento: {{{ sudo apt-get install devscripts fakeroot }}} a. Procure saber a que pacote seu programa pertence: {{{ dpkg --search }}} a. Instale as dependências de compilação para o pacote: {{{ sudo apt-get build-dep }}} a. Compile os .debs para depuração: {{{ export DEB_BUILD_OPTIONS="debug nostrip noopt" fakeroot apt-get source -b }}} a. Instale os .debs necessários (eles estarão no diretório de trabalho atual se a compilação foi executada com sucesso): {{{ sudo debi *.changes }}} * Muitos pacotes suportam a compilação de uma versão de depuração desse jeito. Se o processo não funcionar para um pacote, por favor, abra um relatório de bug sobre ele. == O servidor XOrg == O servidor X vai, por padrão capturar seus próprios travamentos e descarregar a pilha de registro no arquivo /var/log/Xorg.0.log. Porém, esta pilha de registro é modificada por seu próprio manipulador de sinais. Para obter um travamento "normal", que irá disparar um gatilho de descarregamento do cerne do sistema (e um relatório ''apport''), adicione isso ao seu arquivo /etc/X11/xorg.conf: {{{ Section "ServerFlags" Option "NoTrapSignals" "true" EndSection }}} Por favor, veja DebuggingXorg sobre como depurar travamentos do servidor do Xorg. == Informações para o Esquadrão de Bugs == Se você está tentando disparar relatório de travamento `apport-retrace` de um bug que não acontecia na mesma versão do Ubuntu que você está executando, faça o seguinte: Digamos que você está executando o `Gutsy` e o travamento aconteceu no `Feisty`: 0. Isto irá criar um pequeno sistema `feisty`. {{{ sudo mkdir -p /chroots/feisty sudo debootstrap feisty /chroots/feisty/}}} 0. Agora você pode alterar neste pequeno sistema `feisty`. {{{ sudo chroot /chroots/feisty}}} 0. Edite o arquivo `/etc/apt/sources/list` e todos os repositórios que você necessita, especialmente o repositório ddeb do Martin. 0. {{{ apt-get update; apt-get install gdb apport}}} 0. Use o `apport-retrace` como você já está acostumado. Para maiores informações sobre como lidar com relatórios de bug [[Apport]], veja [[Bugs/ApportRetraces]]. ---- CategoryBugSquad CategoryDebugging