1.. SPDX-License-Identifier: GPL-2.0 2 3======================================================= 4Dicas de depuração para desenvolvedores do Kernel Linux 5======================================================= 6 7Guias gerais 8------------ 9 10Todolist: 11 12* driver_development_debugging_guide 13* gdb-kernel-debugging 14* kgdb 15* userspace_debugging_guide 16 17Guias específicos de subsistemas 18-------------------------------- 19 20Todolist: 21 22* media_specific_debugging_guide 23 24Dicas gerais de depuração 25------------------------- 26 27Dependendo do problema, um conjunto diferente de ferramentas está disponível 28para rastrear o problema ou até mesmo para perceber se há algum problema em 29primeiro lugar. 30 31Como primeiro passo, você precisa descobrir que tipo de problema você deseja 32depurar. Dependendo da resposta, sua metodologia e escolha de ferramentas podem 33variar. 34 35Preciso depurar com acesso limitado? 36------------------------------------ 37 38Você possui acesso limitado à máquina ou não consegue parar a execução em 39andamento? 40 41Nesse caso, sua capacidade de depuração depende do suporte de depuração 42embutido no kernel fornecido pela distribuição. 43O :doc:`/process/debugging/userspace_debugging_guide` fornece uma breve visão 44geral sobre uma variedade de ferramentas de depuração possíveis nessa situação. 45Você pode verificar a capacidade do seu kernel, na maioria dos casos, olhando o 46arquivo de configuração dentro do diretório /boot. 47 48Eu tenho acesso root ao sistema? 49-------------------------------- 50 51Você consegue facilmente substituir o módulo em questão ou instalar um novo 52kernel? 53 54Nesse caso, sua gama de ferramentas disponíveis é muito maior. Você 55pode encontrar as ferramentas 56no :doc:`/process/debugging/driver_development_debugging_guide`. 57 58A temporização é um fator? 59-------------------------- 60 61É importante entender se o problema que você deseja depurar se manifesta 62de forma consistente (ou seja, para um determinado conjunto de entradas, você 63sempre obtém a mesma saída incorreta) ou de forma inconsistente. Se ele se 64manifestar de forma inconsistente, algum fator de temporização pode estar em 65jogo. Se a inserção de atrasos no código alterar o comportamento, é bastante 66provável que a temporização seja um fator determinante. 67 68Quando a temporização altera o resultado da execução do código, o uso de um 69simples printk() para fins de depuração pode não funcionar; uma alternativa 70semelhante é usar trace_printk(), que registra as mensagens de depuração no 71arquivo de rastreamento, em vez de no log do kernel. 72 73**Copyright** ©2024 : Collabora 74