Este guia vai te ensinar como:
Nota de rodapé: Adaptado do slogan de Perl: "As coisas fáceis devem ser fáceis e as coisas difíceis devem ser possíveis".
Esta é uma coleção de metodologias de trabalho em andamento e receitas de copiar-n-colar para a depuração bem-sucedida de problemas de software simples e complicados. Algumas seções estão bastante completas, enquanto outras serão finalizadas posteriormente e ainda não foram iniciadas.
Eu tenho desenvolvido software desde 1995 e muito desse trabalho envolveu a depuração. Ao longo dos anos, desenvolvi várias metodologias eficientes para descobrir a fonte do problema, que é o estágio mais difícil de resolvê -lo. Como depois que o problema é entendido, normalmente a resolução é relativamente fácil.
De vez em quando alguém, eu estava depurando um problema com alguém que sugeriria compartilhar minhas abordagens com o mundo. Eu sempre disse que seria muito difícil generalizar, mas recentemente a semente plantada parece ter surgido e, portanto, nos seguintes documentos, tentarei compartilhar algumas das idéias para facilitar esse processo muito difícil às vezes.
Escrever sobre a depuração no vazio é muito difícil e, como não tenho economizado casos de uso, levará algum tempo para construir isso, então espere que essas páginas sejam um trabalho em andamento (WIP) para muitas luas. Mas espero que algumas idéias possam ser transmitidas a você mais cedo ou mais tarde, e ajudariam a aliviar seu fardo de depuração em seus projetos de trabalho e reprodução.
Metodologia de depuração rápida
Programas compilados de depuração - gdb , ldd , nm , LD_LIBRARY_PATH , LD_PRELOAD
Depuração Python - py-spy , caminhos, impressão automática
Ferramentas Unix para depuração - bash , strace , make , Promot, nohup
Debuging Machine Learning Projects (externo)
Se você encontrou um bug, erro de digitação ou gostaria de propor uma melhoria, não hesite em abrir um problema ou contribuir com um PR.
O conteúdo deste site é distribuído no International de atribuição de atribuição 4,0.
✔ Machine Learning: ML Engineering Online Book | MOLOS ML | Porta
✔ Guias: a arte de depurar
✔ Aplicações: ipyExperiments
✔ Ferramentas e trapaceiros: Bash | conda | git | Jupyter-Notebook | fazer | Python | Tensorboard | Unix