10.1 Iniciando o debugger
Vamos estudar o processo de depuração com base no IntelliJ IDEA, o que é lógico e legal. Você vai perceber isso agora.
No IntelliJ IDEA (é necessário a versão Ultimate Edition) você pode rodar seu programa em dois modos:
Modos de execução do programa | Ícone na barra | Atalhos de teclado |
---|---|---|
Execução normal | Shift+F10 | |
Execução no modo de depuração | Shift+F9 |
Com o modo normal de operação você já está familiarizado: o programa será iniciado, executará e terminará. Mas o modo de depuração traz várias surpresas.
Modo de Depuração
O modo de depuração permite executar passo a passo todo o seu programa. Ou seria mais correto dizer, linha por linha. Com isso, 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 alterá-los!
Para dominar minimamente a arte da depuração, você precisa aprender três coisas:
- Pontos de parada
- Execução passo a passo
- Visualização dos valores das variáveis
10.2 Pontos de Parada (Break Points)
O IDE permite que você coloque no código marcações especiais — pontos de parada (break point). Toda vez que o programa, executado no modo de depuração, chega a uma linha marcada como break point, ele irá pausar.
Para definir um break point em uma linha específica, basta clicar à esquerda dessa linha no IntelliJ IDEA. Exemplo:
Como resultado, a linha será marcada com um ponto de parada (break point), e o IntelliJ IDEA destacará toda a linha em vermelho:
Um novo clique do mouse na barra à esquerda do código removerá o break point definido.
Além disso, o break point pode ser definido na linha atual usando o atalho — Ctrl+F8. Pressionar novamente Ctrl+F8 na linha onde já há um break point irá removê-lo.
10.3 Executando o programa no modo de depuração (debug)
Se seu programa tiver pelo menos um ponto de parada, você pode executá-lo no modo de depuração (Shift+F9 ou "ícone com bug").
Após iniciar no modo de depuração, o programa é executado normalmente. Mas assim que chega a uma linha de código marcada com break point, ele pausa. Exemplo:
Na metade superior da captura de tela você vê o código do programa com dois pontos de parada. O programa parou na linha 2 — destacada com uma linha azul. A linha 2 ainda não foi executada: nada foi impresso no console ainda.
Na metade inferior da tela você vê os painéis do modo de depuração: painel Thread & variables, painel Console (saída na tela) e um conjunto de botões para o modo de depuração.
Você pode retomar a execução do seu programa (continuar sua execução) se clicar no botão Resume Program no painel inferior esquerdo (ou pressionar a tecla F9).
Se você pressionar este botão (ou F9), o programa continuará até encontrar o próximo ponto de parada ou terminar. Veja o que veremos após pressionar este botão:
O programa parou no segundo ponto de parada, e as palavras Hello e and foram impressas no console — sinal de que apenas duas das três linhas de saída foram executadas.
10.4 Execução passo a passo
Se seu programa estiver rodando no modo de depuração, você poderá executá-lo passo a passo também: um passo — uma linha. Para a execução passo a passo há dois atalhos de teclado: F7 e F8 — ambos executam a linha de código atual. Mas primeiro você precisará pausar seu programa com um break point.
Se você quiser executar seu programa linha por linha, precisa colocar um break point no início — na primeira linha de código e executá-lo no modo de depuração.
Quando o programa pausar, você poderá começar a executá-lo linha a linha. Um pressionamento de tecla F8 — uma linha.
Veja como nosso programa ficará após pausar e pressionar 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 impressa na tela.
10.5. Execução passo a passo entrando em funções
Se você tem funções próprias no seu programa, e quer que no modo de depuração seu programa não apenas execute passo a passo, mas também entre nas suas funções, para "entrar na função" você deve pressionar as teclas F7.
Por exemplo, você está executando o programa passo a passo e agora parou na linha 5. Se você pressionar o botão F8, o IntelliJ IDEA simplesmente executará a quinta linha e passará para a sexta:
Mas se você pressionar F7, o IntelliJ IDEA irá executar passo a passo a função hello():
É bem simples. Se você não está muito preocupado com o que acontece dentro do método, pressione F8, se está — F7 e execute todo o código dele passo a passo.
GO TO FULL VERSION