This article has been localized into Portuguese by the community.
Percorrendo o código
Neste capítulo, analisaremos seu código, que é outra parte essencial da depuração. Para o efeito, eu escrevi este aplicativo simples:
namespace DebugTest
{
class Program
{
static void Main(string[] args)
{
int a = 5;
a = a * 2;
a = a - 3;
a = a * 6;
Console.WriteLine(a);
}
}
}
Simplesmente manipula a variável "a" algumas vezes e produz o resultado final. Tente colocar um ponto de interrupção, como descrito no capítulo anterior, na primeira linha onde a é usado (e declarado). Agora execute o aplicativo. A execução é interrompida e você pode passar o mouse sobre oa, para garantir que o que aprendemos no capítulo anterior seja de fato verdadeiro: A variável contém apenas o valor padrão, porque o código que atribui o valor (nesse caso, 5) , ainda não foi executado, mas vamos mudar isso. No menu Debug, selecione a opção "Step over", ou melhor ainda, use o atalho de teclado F10. A execução irá agora para a próxima linha relevante e se você passar o mouse sobre a variável a, verá que ela possui um valor. Tente novamente, e você verá o valor mudar de acordo com as linhas que estão sendo executadas uma a uma, até que você chegue ao fim.
Ok, isso foi bem básico, mas também muito útil, como você vai perceber quando começar a escrever um código mais complicado. Neste exemplo, o fluxo do código era muito simples, já que ficamos dentro de uma única função, mas e se o seu código começar a se espalhar por várias classes e/ou funções? Tente este exemplo:
namespace DebugTest
{
class Program
{
static void Main(string[] args)
{
int a = 5;
int b = 2;
int result = MakeComplicatedCalculation(a, b);
Console.WriteLine(result);
}
static int MakeComplicatedCalculation(int a, int b)
{
return a * b;
}
}
}
Coloque um ponto de interrupção na primeira linha do método Main e execute o aplicativo. Agora use a função "Step over" para percorrer cada linha. Como você verá, ele se move sobre a chamada de função sem qualquer aviso - isso é simplesmente como a depuração funciona. Agora, tente novamente, desde o início, e depois de ter passado para a linha com a chamada MakeComplicatedCalculation(), selecione Debug - & gt; Entre ou use o atalho de teclado F11. O depurador agora entra na primeira chamada de função possível, permitindo que você passe por essa função também. Como você pode imaginar, isso permite que você passe por um complicado bloco de código, inserindo apenas as chamadas de função que lhe interessam.
Se você entrar em uma função e, em seguida, perceber que prefere retornar ao contexto anterior, use a opção com nome logicamente no menu Debug chamada "Step out" (o atalho de teclado é Shift + F11). Isso retornará ao seu contexto anterior, o que obviamente significa que você pode entrar em quantas chamadas de função desejar e, em seguida, encontrar o caminho de volta usando a opção de sair.