Olá, meu nome é Gerald. Nestas lições, você aprenderá como depurar seu código no Visual Studio. Nesta lição, mostrarei como usar pontos de interrupção e ferramentas de inspeção de código no Visual Studio. Vamos dar uma olhada em nossos códigos para que possamos nos familiarizar com ele antes de começar. Este é um aplicativo de console com três funções. Temos nossa função principal. Temos uma função de impressão de números, que percorre um loop e imprime a variável do loop para a consola, e temos uma função de geração de string aleatória, que gera uma string aleatória e retorna para o chamador. Então, vamos adicionar nosso primeiro ponto de interrupção. Para adicionar um ponto de interrupção, existem duas maneiras, primeiro encontre a linha de código que você precisa para colocar o ponto de interrupção. Você pode clicar com o botão direito nele. Desça até o menu do ponto de interrupção, e clique em "inserir ponto de interrupção". Você também pode inserir um ponto de interrupção usando a barra de ponto de interrupção no lado esquerdo da tela de código. Você pode clicar aqui e inserir um ponto de interrupção. Você pode dizer pelo destaque vermelho e também por esses pontos vermelhos na barra de ponto de interrupção, que existem pontos de interrupção. Então, vamos executar nossos aplicativos para que possamos ver os pontos de interrupção em ação. Então nosso programa começou. Começou a executar, e atingimos nosso primeiro ponto de interrupção em números de impressão, linha 14. Você pode dizer que o aplicativo foi pausado em um ponto de interrupção pelo botão Iniciar, agora diz "continuar", indicando que o aplicativo está em pausa, e precisaríamos clicar em "continuar" para continuar além do ponto de interrupção. Você também pode dizer porque a linha está destacada em amarelo que estamos neste ponto de interrupção. Vamos clicar em "continuar" para atingir nosso próximo ponto de interrupção. Cliquei em "continuar" e agora o programa foi pausado novamente em nosso segundo ponto de interrupção. Você também pode ver aqui, porque há uma seta amarela, indicando que estamos parados neste ponto de interrupção. Vamos apertar "parar" e dar uma olhada em algumas configurações de ponto de interrupção. Vamos colocar um ponto de interrupção em nossa função de números de impressão dentro do loop. Então vou clicar aqui na linha 30 para inserir um breakpoint. Agora, para acessar as configurações do ponto de interrupção, existem duas maneiras, você pode passar o mouse sobre a barra de ponto de interrupção e clique nesta roda dentada. Ou você pode clicar com o botão direito do mouse em sua linha de código, vá para o menu do ponto de interrupção, e você pode ver seus pontos de interrupção. Temos "excluir ponto de interrupção", que o remove completamente. Temos "desativar ponto de interrupção", que desativará o ponto de interrupção, mas não o excluirá. E você poderia mais tarde, em um momento diferente, ativar o ponto de interrupção. Também temos condições, ações e rótulos. Primeiro, vamos dar uma olhada nos rótulos. Os rótulos são como um nome para o seu ponto de interrupção. Então você quer dar a ele um rótulo significativo. Vamos chamá-lo de "Loop de números de impressão". (teclas clicando) Vamos clicar em "adicionar" e depois em "ok" para adicionar um rótulo a este ponto de interrupção. Os rótulos aparecerão na janela de pontos de interrupção. Então, para abrir a janela de pontos de interrupção, vá para o menu de depuração no menu principal, vá para o Windows e clique em "pontos de interrupção" para abrir a janela de pontos de interrupção. A janela de pontos de interrupção listará todos os pontos de interrupção em seu aplicativo. E você pode ver aqui, na coluna de rótulos, vemos o nome do nosso ponto de interrupção. Há muitas opções aqui. Você pode adicionar todos os tipos de colunas para acompanhar dos seus breakpoints e veja informações sobre eles. Então eram rótulos. Vamos dar uma olhada nas condições. Mais uma vez, irei para as configurações do ponto de interrupção e clique em "condições". As condições são o método para interromper condicionalmente em seu ponto de interrupção. Portanto, se você deseja apenas ter seu programa parar de executar quando uma determinada condição for verdadeira, você adicionaria uma expressão condicional aqui para parar condicionalmente em seu ponto de interrupção. Há também outras coisas aqui, como contagem de acertos. Se você quiser apenas parar em seu ponto de interrupção depois de ter sido alcançado várias vezes, você usaria a contagem de acertos. E então há outra opção de filtro aqui. Adicionaremos uma expressão condicional como exemplo, e diremos, apenas interrompa e pare neste ponto de interrupção quando a variável de loop I é igual a cinco. Portanto, nosso ponto de interrupção está aqui, e só vai parar a execução quando nossa condição for verdadeira de I igual a cinco. Vamos fechar e assistir isso em ação. Portanto, nosso programa está em execução e atingiu nosso ponto de interrupção. E eu vou mostrar a você a saída aqui, para que você possa ver que nós passamos sobre o ponto de interrupção cinco vezes. É impresso zero, é impresso um, dois, três e quatro, e agora I é igual a cinco, que era nossa condição, e nosso ponto de interrupção interrompeu a execução do código. Agora clicarei em "continuar" e você perceberá que continuará a execução e não quebrará porque nossa condição não será mais verdadeira. Então, clicarei em "continuar" e nosso programa terminou a execução sem parar em nosso ponto de parada. Então é assim que você adiciona um ponto de interrupção condicional. Vamos dar uma olhada nas ações. Então, novamente, irei para as configurações do ponto de interrupção, e clicarei em "ações", limparei tudo, e marque a caixa "ações". As ações são úteis para imprimir algo para a janela de saída quando o ponto de interrupção é atingido. Às vezes, você pode querer imprimir uma mensagem ou imprima uma variável e ela será enviada para a janela de saída. Então, vamos imprimir algum texto e o valor de I. (teclas clicando) Então eu coloquei algum texto aqui que será enviado para a janela de saída. Ele imprimirá, função de números de impressão, I igual, e então esses colchetes indicar que deve imprimir o valor da variável I aqui em nossa função de números de impressão. Vamos clicar em "fechar" e depois observar isso em ação. Clicaremos em "iniciar" e podemos ver aqui em nossa janela de saída está enviando o valor de I para a saída. Veja a função de números de impressão, I é igual a zero, todo o caminho até nove. Isso indica que toda vez que o ponto de interrupção foi atingido, enviamos esse texto e o valor de I para a janela de saída. Portanto, isso é mais útil quando você deseja imprimir o valor de uma variável em seu ponto de interrupção. Vamos clicar em "parar" e adicionaremos outro ponto de interrupção. Vamos adicionar um ponto de interrupção aqui. Bem, vamos manter o mesmo ponto de interrupção. Vamos adicionar um aqui ao nosso loop interno e clicar em "iniciar". Vamos dar uma olhada nas ferramentas de inspeção de código. Portanto, uma das ferramentas de inspeção de código mais úteis é o hover. Então, se você passar o mouse sobre uma variável, você verá uma pequena caixa de ferramentas aberta aqui, e nos mostrará o valor da variável. Então podemos ver a variável I, e seu valor atualmente é zero. Vou clicar em "continuar" para continuar a execução. Eu cliquei em "continuar" e agora atingimos nosso ponto de interrupção novamente, porque estamos dentro de um loop. Dê uma olhada em mim, e posso ver que aumentou para um. Vamos dar uma olhada no parâmetro limite que foi passado, e podemos ver que o limite é igual a 10. Portanto, esta ferramenta de foco é muito útil para inspecionar variáveis. Agora, vamos dar uma olhada em alguns objetos mais complexos. Pressione "parar" e colocaremos um ponto de interrupção em nossa função de geração de string aleatória. Nós vamos colocar aqui no final. Então, o código será executado todo o caminho através desta função, e atingiremos nosso ponto de interrupção aqui no final desta função. Vamos clicar em "iniciar" e atingimos nosso ponto de interrupção. Então, vamos usar a ferramenta de foco para dar uma olhada na classe do construtor de cadeia de caracteres. Aqui, estou passando o mouse sobre a variável do construtor de string, e eu posso ver o valor disso aqui. Se você expandir isso, você pode ver ainda mais informações sobre o objeto. Podemos ver que tem um membro de capacidade, que é igual a 16. Podemos ver que tem um membro de comprimento igual a nove e um membro de capacidade máxima que é igual ao valor máximo de ponto INT. Esta janela de inspeção também lhe dá acesso para membros não públicos, para que você possa ver os membros privados desta variável. Você expande esse nó e aqui temos acesso para visualizar as variáveis privadas para o objeto do construtor de string. E, novamente, você pode ver os membros estáticos da variável. Aqui, você pode ver todos os membros estáticos dessa variável. Há também mais uma boa ferramenta de inspeção de código aqui que podem ajudá-lo a visualizar, por exemplo, uma matriz. Aqui no topo, temos nossa variável de alfabeto, e é uma matriz de caracteres. Então, passei o mouse sobre a variável do alfabeto. Recebemos nossa janelinha novamente, e clicarei em "view" para visualizar o array. E aqui apareceu no visualizador, e posso ver a matriz e todos os índices e seus valores. Há um botão "exportar para Excel" aqui, se você quiser exportar isso para o Excel, mas isso é muito útil quando você está trabalhando com listas, arrays, qualquer tipo de coleção, se você quiser visualizar para que você possa ver o que está dentro dele. Essas são as ferramentas de inspeção de código. Agora você sabe como usar pontos de interrupção e ferramentas de inspeção de código no Visual Studio. Obrigado por assistir e fique atento para a nossa próxima lição onde abordaremos as funções de navegação de código.