Nesta aula estudaremos a definição de depuração e como podemos depurar códigos Python com o uso da IDE PyCharm |
DEPURAÇÃO

Depuração é uma técnica de programação em que é possível manipular a execução de cada linha e verificar os valores das variáveis (instâncias).
Segundo o dicionário Aurélio, depurar significa: Procurar, detectar e corrigir erros em programa .
Hoje em dia, ferramenta para depuração de código estão presente nas IDE modernas e nos proporcionam uma forma de executar nossa aplicação passo-a-passo e ir verificando o valor das variáveis e o que nosso programa vai executando, ou seja, quais funções vão sendo invocadas.
É correto dizer que depurar um código significa a execução de cada linha vagarosamente, onde o programador é quem diz quando que determinada instrução deve ser executada. E também, a cada linha executada, é possível verificar o valor das variáveis que estão no escopo local e global
Algumas IDEs permitem a alteração do valor das variáveis e a executação de código paralelamente. Desta forma, conseguimos simular situações onde talvez, não fosse possível através do nosso programa.
A depuração é comumente utilizada para na detecção de erros e para entender o estado do programa e de suas variáveis num determinado instânte, ou numa determinada função.
Podemos dizer que é possível depurar qualquer código de qualquer linguagem, até porque, esse é um recurso atualmente considerado elementar para a correta construção de software. Algumas vezes a depuração é um recurso encontrado em determinada IDE, outras vezes, a capacidade de depuração acaba sendo uma ferramenta disponibilizada pela linguagem, isto é, a Máquina Virtual ou o Compilador da linguagem é quem disponibilizam esses recursos e capacidades.
Neste Curso de Python, estamos utilizando a IDE PyCharm e a mesma oferece-nos grande capacidade para depuração e análise interna em tempo de execução.
O RECURSO DE DEPURAÇÃO
A depuração é um recurso disponibilizado pelo compilador ou interpretador da linguagem. Portanto, nativamente, conseguimos depurar o código através da linha de comando, semelhate a forma como executamos o código.
As IDE ao implementarem os recursos de depuração estão de fato negociando com o compilador ou interpretador o local em que deve haver interrupções e todos os demais recursos.
É importante sabermos que não são as IDE que implementam a capacidade de depurar o código, elas apenas dialogam com o compilador ou interpretador e fornecem uma forma gráfica para depuração.
PRIMÓRDIOS DA DEPURAÇÃO
Todas as vezes em que utilizamos a função print()
para enviar à saída padrão o valor de variáveis estamos depurando nosso código de forma primitiva. Ou seja, estamos inspecionando o valor das variáveis e o estado do programa utilizando a função print.
É comum que novas linguagens de programação não tragam a funcionalidade de depurar o código implementado, portanto, o programar é obrigado a trabalhar enviando para a saída padrão o valor dos membros que ele deseja conhecer os valores.
Linguagens como JavaScript, PHP e ASP são exemplos notáveis de linguagens que foram lançadas no mercado sem que os desenvolvedores disponibilizassem uma forma de depurar o código de forma eficiente.
PERFORMANCE
A execução em modo de depuração só deve ser executada quando necessário, até porque, a perfomance é muito inferior ao que temos com a execução normal. Por isso, só execute um código em forma de depuaração quando houver um razão para isso.
O QUE SIGNIFICA CURSOR DE EXECUÇÃO?
Cursor de execução é o termo que utilizamos para nos referirmos a linha de código em que estamos, ou melhor, na linha onde estamos.
Na imagem a seguir podemos ver a execução de um simples código. Observe na linha 9, em azul, o cursor de execução e na linha 11 podemos ver o uso de um breakpoint. É importante lembrar que o sistema de cor pode ser personalizado, portanto, não existe um padrão e não podemos nos referir ao cursor ou ao breakpoint como sendo uma linha de uma determinada cor.

O QUE SIGNIFICA breakpoint?
A palavra breakpoint, significa, na depuração de programas, o número da linha em que a execução do código será interrompido para o início da depuração.
Esse é um recurso permite interrompermos a execução do nosso programa num determinado ponto. Assim, podemos marcar em qual local do programa desejamos iniciar a depuração e quando o cursor de execução chegar na linha demarcada, a execução será interrompida e a IDE trará o código em que ocorreu a interrupção.
Na imagem acima, é possível ver um breakpoint na primeira linha da IDE PyCharm. Normalmente, os breakpoints são representados por uma bola vermelha no canto esquerdo [margem] dos editores de código.
O MODO DE DEPURAÇÃO
Ao executarmos um código em modo de depuração, teremos uma tela semelhante a que temos na imagem a seguir. Como podemos ver, os menus estão habilitados, até porque, estamos executando em modo de depuração.

OPÇÕES DE EXECUÇÃO
Normalmente desejaremos somente executar a instrução em que o cursor está posicionado, outras vezes, desejaremos depurar a função que será executada e noutras vezes, desejaremos finalizar a depuração da função e voltar ao fluxo anterior.
Pra todas essas situações há teclas de atalho que facilitam o trabalho e a verificação dos valores.
- Shift+F10 (Run): executa o script
- Shift+F9 (Debug): executa em modo de depuração (debug)
- Ctrl+F5 (Rerun): executa da mesma forma que a anterior
- Shift+Alt+F10 (Choose configuration and ru): exibe o menu que contém as configurações de execução e roda o script
- Shift+Alt+F9 (Choose configuration and debug): exibe o menu que contém as configurações de execução e roda o script em modo de depuração
- F8 (Step Over): executa a linha onde o cursor está
- F7 (Step Into): entra na função e posiciona o cursor na primeira linha
- Shift+F8(Step Out): termina a depuração da função e o cursor retorna ao local anterior
- Shift+Alt+F8 (Force Step Over): o cursor não entra no código da função mesmo que haja um breakpoint
A DEPURAÇÃO COMO ESTUDO
Neste artigo tratamos a depuração principalmente como uma ferramenta para o desenvolvimento e correção de problemas em nossos códigos, o que de fato está correto, porém, utilizar somente para isso é não aproveitar ao máximo o poder da ferramenta.
A depuração deve ser utilizada durante toda a fase de estudo e, posteriormente, quando desejarmos entender como o interpretador do Python está lidando com determinada situação.
Em vista de que temos a disposição todas as variáveis e que podemos criar e/ou invocar funções, devemos ver a depuração como um recurso que vai muito além de simplesmente procurar por erros e sim, como uma ferramenta que devemos utilizar durante todo o estudo do desenvolvimento de software.
LINKS EXTERNOS
Tags curso, python, depuração, pycharm, blog
Comentários
comments powered by Disqus