Header Ads

O que é um depurador? Por que usar um ao programar

Se você é um dos muitos programadores que depuram usando console. log ou algo semelhante, está perdendo muitos recursos que os depuradores podem oferecer. Se você frequentemente fica travado rastreando bugs lógicos, você pode tentar usar este recurso do seu IDE.

Passando console. log

Claro, registrar a saída de depuração no console é muito necessário em muitas situações. Às vezes, é bom apenas registrar um objeto e verificar o valor para o qual ele está definido, o que pode resolver muitos problemas básicos.

No entanto, no segundo em que se torna mais complicado do que isso, um depurador pode ser útil. Os depuradores permitem que você defina pontos de interrupção em seu código e avance sobre a execução. Eles também permitem que você inspecione a memória de seu aplicativo conforme ela muda com a execução da função. Isso pode ser crucial para rastrear problemas.

Eles são muito simples de usar. A implementação exata dependerá do seu IDE, mas a maioria permite que você defina pontos de interrupção clicando na barra lateral, que exibirá um círculo vermelho geralmente para indicar que o código irá parar por aí.

Então, você pode apenas clicar em iniciar e o depurador fará uma pausa sempre que o ponto de interrupção for atingido (se for o caso). Por exemplo, você pode definir um ponto de interrupção quando um determinado botão for pressionado e o programa será executado normalmente até que o botão seja pressionado. Depois que o ponto de interrupção é atingido, o programa é totalmente pausado.

Enquanto está pausado, você pode visualizar as variáveis ​​do aplicativo. Isso é configurável e definido automaticamente para o que o Visual Studio considera útil. Você pode observar as variáveis ​​manualmente ou apenas visualizar as variáveis ​​locais.

Nesse caso, é útil visualizar os dados brutos da classe. A classe list, por exemplo, parece ser apenas um objeto []. No entanto, na prática, ele possui muitas outras variáveis ​​na própria classe. Não é o suficiente, é claro, mas é interessante poder ver tudo o que é alocado.

Entrar, sair, avançar

Claro, apenas pausar o programa não é muito útil, então os depuradores terão ferramentas para reproduzir a execução quadro a quadro, neste caso, linha por linha.

Você encontrará os controles do Visual Studio aqui na parte superior, sublinhados em vermelho.

Todos eles fazem coisas diferentes.

  • Step Into fará com que o depurador funcione linha por linha, mas também mostrará basicamente todas as linhas que são executadas. Se você chamar uma de suas funções, ela será movida ou “ entrará em ” essa função. Assim que a função retornar, ela sairá.
  • O passo ao longo também vai linha por linha, mas neste caso está confinado ao escopo atual. Não entrará em chamadas de função, em vez disso apenas irá literalmente para a próxima linha em seu código-fonte, não importa quantas funções acabaram sendo chamadas.
  • Avançar basicamente para a frente rápida até a próxima instrução de retorno, pisando fora do quadro de pilha atual. Isso permite que você saia das funções depois de &’ ter visto o suficiente.

Usando esses três controles, você tem controle total sobre o programa e pode visualizar o quanto quiser da execução.

Enquanto isso, conforme você avança no código, pode visualizar a memória e as variáveis ​​locais de cada função, examinar seus valores e ver como eles mudam conforme você avança no tempo.

Configurações de ponto de interrupção condicional

No Visual Studio, os pontos de interrupção podem ser mais do que apenas “ parar nesta linha de código. ” Você pode definir pontos de interrupção condicionais que só serão ativados quando certas condições ou valores forem atendidos.

Clique com o botão direito em um ponto de interrupção e selecione “ Condições. ”

A partir daqui, você pode definir uma instrução if que será verificada antes de executar o ponto de interrupção.

Nenhum comentário