Depuração

Definição - o que significa depuração?

A depuração é o processo de rotina de localização e remoção de bugs, erros ou anormalidades do programa de computador, que é tratado metodicamente por programadores de software por meio de ferramentas de depuração. A depuração verifica, detecta e corrige erros (ou "bugs") para permitir a operação adequada do programa, de acordo com as especificações definidas.

A depuração também é conhecida como depuração.

Definirtec explica a depuração

Enquanto os profissionais desenvolvem programas de software, eles implementam partes essenciais do processo, como testes pesados, atualização, solução de problemas e manutenção.

Normalmente, o software contém erros e bugs, que são removidos rotineiramente. No processo de depuração, programas de software completos são regularmente compilados e executados para identificar e corrigir problemas. Grandes programas de software, que contêm milhões de linhas de código-fonte, são divididos em pequenos componentes. Para maior eficiência, cada componente é depurado separadamente no início, seguido pelo programa como um todo. Em geral, a maneira como a depuração funciona depende das estratégias de teste globais escolhidas.

A depuração como parte fundamental do manuseio de código e desenvolvimento de software é um bom termômetro de como produzimos tecnologias em geral. Isso reflete o que temos sido capazes de fazer com linguagens de programação para avançar em um mundo de automação digital e IA.

Outra maneira de dizer isso é que a depuração evolui junto com as tecnologias que usamos para codificar e escrever programas.

Os especialistas costumam falar sobre a depuração como envolvendo “pessoas, processos e sistemas” que ajudarão a resolver quaisquer problemas com uma base de código existente. Então, como isso funciona é diferente em diferentes eras: por exemplo, a depuração que ocorreu nos primeiros dias do PC, em ambientes bare-metal em código linear não orientado a objetos, será diferente da depuração que acontece hoje.

Um excelente exemplo disso é o surgimento de práticas modernas chamadas de "depuração reversa".

Na era do devOps e do desenvolvimento ágil de software, a depuração reversa envolve o monitoramento de programas e a entrega de dados de maneiras específicas, a fim de automatizar o processo de depuração. Isso costumava ser feito por cientistas da computação individuais em um processo que muitas vezes lembrava uma espécie de trabalho de detetive técnico.

Antigamente, os programadores preenchiam tíquetes individuais após observar algum bug funcional durante o teste, e então voltavam e vasculhavam o código usando depuradores agora primitivos para descobrir o que estava acontecendo. Não era incomum que até mesmo uma equipe experiente ficasse “perplexa” por um tempo, seja por causa da sofisticação do código que criava o bug, ou da indefinição do bug em testes, ou ambos.

Por outro lado, os sistemas de depuração reversa que se assemelham ao projeto de gravadores de vôo em aviões rastreiam programas em tempo de execução ou monitoram programas, a fim de fornecer as informações corretas para tornar a depuração mais um processo automatizado.

Ao fazer mais tipos de monitoramento sofisticado em tempo real ou à medida que os programas são usados, as ferramentas de depuração reversa capturarão mais detalhes que os cientistas da computação tradicionalmente teriam de investigar.

Os testes também mudaram, onde com o CICD e processos relacionados, alguns dos testes podem ser feitos por engenheiros e outros tipos de testes podem ser feitos por usuários finais em um ambiente de produção ou em beta, ou em outro lugar no pipeline.

No final, a depuração continuará a ser uma parte crítica do gerenciamento de uma base de código.