Depurador
O que é um depurador?
Um depurador é uma ferramenta que auxilia na execução passo a passo do seu código. É possível pausar a execução do código em um determinado ponto e iniciar o modo de depuração para analisar como o código está funcionando. Para isso, é necessário definir um marcador (ponto de interrupção) na linha onde se deseja pausar.
Temos um código que deveria calcular a soma dos números de um a dez, inclusive. O resultado esperado é 55
, mas estamos obtendo 45
como resposta. Vamos definir um ponto de interrupção no início do laço para entender por que a resposta não corresponde ao esperado. Para isso, clique com o botão esquerdo do mouse no número da linha, e um marcador vermelho aparecerá ali.
Segue o código do screenshot, reescrito para melhor legibilidade e clareza:
Main.java
12345678910111213package com.example; import java.util.Arrays; public class Main { public static void main(String[] args) { int result = 0; for(int i = 0; i < 10; i++) { result += 1; System.out.println(result); } } }
Ferramentas no modo de depuração
Breve apresentação sobre como utilizar o depurador e quais ferramentas estão disponíveis.
-
Step Over: Com este botão, é possível continuar a execução do código linha por linha. Ao pressioná-lo, o depurador executa a linha atual e avança para a próxima, parando novamente;
-
Step Into: Com este botão, é possível entrar na execução de um método. No exemplo apresentado, não há método, mas caso houvesse, seria possível acessar seu interior e acompanhar sua execução;
-
Step Out: Este botão realiza a ação oposta ao anterior. Permite sair da execução de um método ou laço;
-
Os valores das variáveis podem ser visualizados na janela inferior ou ao lado das próprias variáveis. É possível observar claramente o valor da variável
result
, que inicialmente é zero.
Iteração pelo código
Para iterar, clique no botão "Step Over". O laço for
é iniciado, e o valor da variável i
aparece, sendo criada dentro do laço for
. Inicialmente, esta variável é definida como zero.
Em seguida, clique em "Step Over" várias vezes para completar uma iteração e verifique no console se algo foi impresso na tela. É possível observar que a variável i
aumentou em 1
, e "0" foi exibido na tela, pois tanto a variável result
quanto a variável i
foram inicialmente definidas como zero. 0 + 0 = 0
-> este foi o valor exibido na tela.
Vamos pular as iterações de impressão dos outros números no console e ir até o final. Neste ponto, é possível identificar o principal erro no laço. O objetivo é exibir a soma dos números de 0 a 10 inclusive, mas o 10 não foi incluído. Portanto, ao observar que i = 9
e, ao ser incrementado para 10
, o laço é encerrado, pois 10 !< 10
(10 não é menor que 10).
Para corrigir esse problema, é necessário alterar a condição para i <= 10
. Assim, o resultado estará correto.
Em resumo, ao pressionar o botão "Step Over" repetidas vezes, foi possível identificar o erro no laço e realizar a correção necessária.
Nota
Mostrei apenas as ferramentas básicas do depurador. Para aprender a utilizá-las, é recomendável praticar por conta própria. Você pode escrever um programa semelhante e verificar de forma independente como tudo funciona. O depurador é uma ferramenta muito útil, pois auxilia na identificação e correção de erros e bugs no código.
1. Qual é o principal objetivo de um depurador?
2. O que um ponto de interrupção permite fazer em um depurador?
3. O que o botão "Step Over" do depurador faz?
Obrigado pelo seu feedback!
Pergunte à IA
Pergunte à IA
Pergunte o que quiser ou experimente uma das perguntas sugeridas para iniciar nosso bate-papo
What is a breakpoint and how do I set one?
Can you explain the difference between "Step Over" and "Step Into"?
Why did the code return 45 instead of 55?
Awesome!
Completion rate improved to 4.76
Depurador
Deslize para mostrar o menu
O que é um depurador?
Um depurador é uma ferramenta que auxilia na execução passo a passo do seu código. É possível pausar a execução do código em um determinado ponto e iniciar o modo de depuração para analisar como o código está funcionando. Para isso, é necessário definir um marcador (ponto de interrupção) na linha onde se deseja pausar.
Temos um código que deveria calcular a soma dos números de um a dez, inclusive. O resultado esperado é 55
, mas estamos obtendo 45
como resposta. Vamos definir um ponto de interrupção no início do laço para entender por que a resposta não corresponde ao esperado. Para isso, clique com o botão esquerdo do mouse no número da linha, e um marcador vermelho aparecerá ali.
Segue o código do screenshot, reescrito para melhor legibilidade e clareza:
Main.java
12345678910111213package com.example; import java.util.Arrays; public class Main { public static void main(String[] args) { int result = 0; for(int i = 0; i < 10; i++) { result += 1; System.out.println(result); } } }
Ferramentas no modo de depuração
Breve apresentação sobre como utilizar o depurador e quais ferramentas estão disponíveis.
-
Step Over: Com este botão, é possível continuar a execução do código linha por linha. Ao pressioná-lo, o depurador executa a linha atual e avança para a próxima, parando novamente;
-
Step Into: Com este botão, é possível entrar na execução de um método. No exemplo apresentado, não há método, mas caso houvesse, seria possível acessar seu interior e acompanhar sua execução;
-
Step Out: Este botão realiza a ação oposta ao anterior. Permite sair da execução de um método ou laço;
-
Os valores das variáveis podem ser visualizados na janela inferior ou ao lado das próprias variáveis. É possível observar claramente o valor da variável
result
, que inicialmente é zero.
Iteração pelo código
Para iterar, clique no botão "Step Over". O laço for
é iniciado, e o valor da variável i
aparece, sendo criada dentro do laço for
. Inicialmente, esta variável é definida como zero.
Em seguida, clique em "Step Over" várias vezes para completar uma iteração e verifique no console se algo foi impresso na tela. É possível observar que a variável i
aumentou em 1
, e "0" foi exibido na tela, pois tanto a variável result
quanto a variável i
foram inicialmente definidas como zero. 0 + 0 = 0
-> este foi o valor exibido na tela.
Vamos pular as iterações de impressão dos outros números no console e ir até o final. Neste ponto, é possível identificar o principal erro no laço. O objetivo é exibir a soma dos números de 0 a 10 inclusive, mas o 10 não foi incluído. Portanto, ao observar que i = 9
e, ao ser incrementado para 10
, o laço é encerrado, pois 10 !< 10
(10 não é menor que 10).
Para corrigir esse problema, é necessário alterar a condição para i <= 10
. Assim, o resultado estará correto.
Em resumo, ao pressionar o botão "Step Over" repetidas vezes, foi possível identificar o erro no laço e realizar a correção necessária.
Nota
Mostrei apenas as ferramentas básicas do depurador. Para aprender a utilizá-las, é recomendável praticar por conta própria. Você pode escrever um programa semelhante e verificar de forma independente como tudo funciona. O depurador é uma ferramenta muito útil, pois auxilia na identificação e correção de erros e bugs no código.
1. Qual é o principal objetivo de um depurador?
2. O que um ponto de interrupção permite fazer em um depurador?
3. O que o botão "Step Over" do depurador faz?
Obrigado pelo seu feedback!