CodeGym /Cursos /Python SELF PT /PyCharm Debug

PyCharm Debug

Python SELF PT
Nível 18 , Lição 3
Disponível

9.1 Iniciando o debugger

Vamos estudar o processo de debugging com base no PyCharm, o que é lógico e legal. Agora você vai ver o porquê.

No PyCharm, você pode rodar seu programa em dois modos:

Modos de execução do programa Ícone na barra Atalhos
Execução normal Shift+F10
Execução no modo de depuração Shift+F9

Com o modo normal você já está familiarizado: o programa é executado, roda e termina. Mas o modo de depuração traz várias surpresas para você.

Modo de depuração

O modo de depuração permite que você execute passo a passo todo o seu programa. Ou, mais precisamente, linha por linha. Você pode observar os valores das variáveis em cada passo do programa (após a execução de cada linha de código). E até mesmo alterar os valores!

Para dominar minimamente a arte da depuração, você precisa aprender três coisas:

  • Breakpoints
  • Execução passo a passo
  • Visualização de valores de variáveis

9.2 Breakpoints (Break Points)

A IDE permite que você adicione no código marcadores especiais — breakpoints (break point). Toda vez que o programa, rodando no modo de depuração, chegar na linha marcada como break point, ele vai pausar.

Para adicionar um break point em uma linha específica, basta clicar no PyCharm à esquerda desta linha. Exemplo:

Como resultado, a linha será marcada com um breakpoint (break point), e o PyCharm destacará toda a linha em vermelho:

Um novo clique do mouse na barra à esquerda do código removerá o break point definido.

Você também pode definir um break point na linha atual usando uma combinação de teclas — Ctrl+F8. Um novo pressionamento de Ctrl+F8 na linha que já possui um break point o removerá.

9.3 Executando o programa no modo de depuração (debug)

Se o seu programa tiver pelo menos um breakpoint, você pode rodar o programa no modo de depuração (Shift+F9 ou “ícone do inseto”).

Após iniciar no modo de depuração, o programa executará normalmente. Mas assim que chegar na execução da linha de código marcada com um break point, ele pausará. Exemplo:

Na parte superior da captura de tela, você vê o código do programa com dois breakpoints. O programa está pausado na linha 2 — marcada com uma linha azul. A linha 2 ainda não foi executada: ainda não foi exibido nada no console.

Na parte inferior da tela, você vê os painéis do modo de depuração: painel Thread & variables, painel Console (saída), e também um conjunto de botões para o modo de depuração.

Você pode retomar a execução do seu programa (continuar a execução), se pressionar o botão Resume Program no painel inferior esquerdo (ou pressionar a tecla F9).

Se você pressionar este botão (ou F9), o programa continuará executando até encontrar o próximo breakpoint ou terminar. Veja o que veremos após pressionar este botão:

O programa parou no segundo breakpoint, e no console foram exibidas as palavras "Hello" e "and" – sinal de que das três linhas de saída duas foram executadas.

9.4 Execução passo a passo

Se o seu programa estiver rodando no modo de depuração, você também pode executá-lo passo a passo: um passo — uma linha. Para execução passo a passo, existem duas teclas de atalho: F7 e F8: cada uma delas executa a linha de código atual. Mas primeiro você precisa pausar seu programa com um break point.

Se você deseja executar seu programa linha por linha, deve colocar um break point no início — na primeira linha com código — e executá-lo no modo de depuração.

Quando o programa parar, você poderá iniciar a execução linha por linha. Uma tecla F8 pressionada — uma linha.

É assim que nosso programa ficará após pausar e pressionar a tecla F8 uma vez:

A primeira linha — print("Hello") — já foi executada, e a linha atual é a segunda. Você também pode ver na parte inferior da captura de tela que a palavra "Hello" já foi exibida.

9.5 Execução passo a passo com entrada nas funções

Se o seu programa tiver funções próprias e você quiser que, no modo de depuração, seu programa não apenas seja executado passo a passo, mas também entre nas suas funções, para “entrar na função” você deve pressionar não a tecla F8, mas a tecla F7.

Suponha que você esteja executando o programa passo a passo e agora parou na quinta linha. Se você pressionar a tecla F8, o PyCharm simplesmente executará a quinta linha e passará para a sexta.

Mas se você pressionar F7, o PyCharm executará passo a passo a função hello():

É bem simples. Se não for muito importante para você o que acontece dentro do método, você pressiona F8, se for importante — F7, e executa todo o código passo a passo.

Comentários
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION