Vamos agora ver como funciona uma ferramenta muito útil para a gente encontrar erros no nosso programa. Até o momento a gente viu, quando acontecia erro, que dava uma mensagem de erro ali e a gente tentava interpretar a mensagem de erro, ver qual linha ela aconteceu e localizar o erro, ver qual é o problema. Às vezes a gente mesmo lendo a mensagem de erro não entende o que está errado e às vezes tem erro de lógica, então o interpretador, o computador não percebe que tem erro, ele simplesmente dá uma resposta errada. Nesses casos, uma coisa que pode nos ajudar é depurador. Então depurador é programa que nos ajuda a encontrar, melhorar o nosso programa, inglês, a palavra usada para isso é debugger, é tirador de bugs, português a gente chama de depurador. Agora nesse ambiente IDLE que a gente tem do Phyton, o IDLE é ambiente integrado de desenvolvimento, ele já tem dentro dele depurador. Então se eu vier aqui nessa opção Debug e ligar o Debugger, vai aparecer essa janela aqui de Debug Control, controle de debugger. Então vamos ver como que a gente pode usar essa janela. Eu vou ligar primeiro todas as opções, para ele mostrar tudo aqui e a primeira coisa a gente tem que carregar dentro do ambiente, arquivo Phyton com o programa que a gente escreveu. Eu vou abrir aqui, por exemplo, aqui, vamos ver aqui no meu, na minha mesa de trabalho, têm esses vários programas que eu já fiz, eu vou pegar esse produto aqui, vamos pegar a soma. E eu vou querer depurar este programa. Como que a gente faz então? Primeira coisa, eu estou com meu depurador ligado aqui, estou com meu programa, daí eu faço Run para executar, ou eu aperto F5 ou eu dou Run. Ao apertar Run, note que ele já abriu aqui a tela do Debugger e ele está mostrando, pintou de azulzinho aqui a primeira, essa linha, linha 2, print Digite uma sequência e ele pintou de cinza aqui no código para mostrar que ele parou aqui, naquela primeira linha. Vou fechar esse Locals, deixar só isso aqui. Por que é que ele parou? Porque ele está esperando que eu digite alguma coisa, então digite a sequência de valores terminadas por 0. Então na verdade ele não executou essa linha, ele vai executar essa linha. Se eu quiser que ele execute, daí eu tenho que apertar desses botões aqui que têm nessa parte superior. Se eu apertar o Go, ele executa de uma vez o programa até o final. Se eu usar esse Over aqui, daí o que ele faz é, linha a linha ele executa por cima de uma linha inteira, para cada vez que eu aperto Over ele executa uma linha inteira. Então vamos primeiro tentar com esse Over. Então apertando Over aqui, ele imprimiu isso aqui, esse print, já apareceu aqui azul: Digite uma sequência, então o print inicial ele já fez e ele foi para essa linha, soma recebe 0. Então vamos continuar dando Over aqui, pronto já foi a linha soma recebe 0, agora vai para linha valor recebe 1, vou dar mais Over. Agora se a gente abrir aqui e notar, nesse ponto, veja que apareceu aqui embaixo, soma 0 e valor é igual a 1, então as variáveis que você definir no seu programa ele já vai mostrando aqui. Essas que aparecem antes são variáveis internas ali do sistema de Phyton, as suas variáveis que você define vão aparecer aqui, no final você pode acompanhar o valor dessas variáveis e aí ver se elas estão com valores corretos. Vamos continuar dando Over, ele veio aqui, pintou de cinza para essa linha aqui, dou mais Over, agora ele travou, por quê? Porque ele está esperando que eu digite, aqui ó: Digite valor a ser somado. Então eu vou digitar 20, pronto, digitei 20 ele já foi para a linha de baixo, soma recebe soma mais valor. Então note que soma está valendo 0, se eu apertar Over, soma foi para 20. Vou continuar aqui no Over mais pouquinho, digitar mais valor, 30, então soma está valendo 20, e se eu digitar Over, foi para 50, 20 mais 30 deu 50, e assim por diante. Agora vez de digitar Over, eu vou digitar Go, Go ele vai direto até o final, ele segue direto até o final, quando termina com 0, então 0, pronto. A soma dos valores digitados é 240. Então, a gente pode ir passo a passo ou a gente pode ir direto. Agora tem outra coisa que é interessante de a gente fazer, que é a ideia de poder indicar algum ponto de parada, que a gente chama de breakpoint. Eu posso querer, por exemplo, eu quero que você vai executando o programa, mas quando chegar nessa linha aqui, eu quero que você pare. Como que você faz isso? Clico aqui nessa linha e aperta o botão direito do mouse, ou se for no Mac, control botão, então aqui. E daí seleciona Setbreakpoint, daí ele pinta de amarelo a linha onde tem breakpoint e daí o que é que eu faço? Daí eu vou executar novamente esse programa, só que agora com aquele breakpoint ali. Então, Run, Run Module. Ele vai executar aqui, novamente aqui eu vou colocar Go aqui no Debugger. O Go, aqui ó: Digite valor a ser somado, aí: 30, 40, 22, menos 764 e agora eu vou digitar o 0. Ao digitar o 0, parou, por que é que ele parou? Porque eu tinha pintado de amarelo, eu tinha colocado breakpoint, ponto de parada aqui nessa linha, então ele parou exatamente nessa linha 10, você pode ver o valor das variáveis, a soma está valendo menos 438, o valor está 0 porque eu acabei de digitar 0 e aí eu posso dar novo Go para ele continuar ou dar, nesse caso vou dar Over, dei Over porque ele já era o útlimo comando, ele já digitou aqui, já imprimiu aqui. Então essa aqui é uma forma de nós definirmos pontos de parada. Eu posso nesse instante, por exemplo, não estou mais interessado nessa linha, eu estou interessado nesta linha, então o que é que eu faço? Eu posso ligar ponto de parada nesta linha e desligar o ponto de parada, dar Clear Breakpoint. Então você pode escolher os pontos de paradas e daí você manda executar e ele vai parar exatamente naquele ponto, você pode ver o estado das variáveis e ver como que está, se tem algum indício de que tem bug no seu programa. Então essa ferramenta Debugger é uma ferramenta que pode nos ajudar também a encontrar problemas no nosso programa quando algo não vai muito bem, é algo que está a sua disposição. [MÚSICA] [MÚSICA] [MÚSICA]