Buscar

02. Depuração de Programas

Prévia do material em texto

DEPURAÇÃO DE PROGRAMAS
Estrutura de Dados
Visual Studio 2008
Tela inicial após carregamento
Criando um Projeto
Criar um projeto no Visual Studio 2008: 
File > New > Project
Criando um Projeto
Criar um projeto tipo Win32Console Application: 
Win32 > Win32Console Application > EDI
Criando um Projeto
Configurar a aplicação como Win32Console Application: 
Next
Criando um Projeto
Configurar a aplicação como Win32Console Application: 
Console application > Empty Project > Finish
Criando um Projeto
Projeto e Solução EDI criados 
Uma solução pode conter vários projetos
Criando um Projeto
 Um projeto pode conter diferentes tipos de 
arquivos:
 Header Files (Arquivos de Cabeçalho): arquivos 
com extensão .h, contém declarações de variáveis 
e funções que serão usadas em arquivos fontes
Criando um Projeto
 Um projeto pode conter diferentes tipos de 
arquivos:
 Resource Files (Arquivos de Recursos): são 
arquivos auxiliares usados no programa, 
normalmente texto, imagens, ícones, etc.
Criando um Projeto
 Um projeto pode conter diferentes tipos de 
arquivos:
 Source Files (Arquivos Fonte): são os arquivos 
com extensão .cpp que contém o código fonte do 
programa, escritos em linguagem C++
Criando um Programa
Inserir um novo arquivo fonte no projeto
Clicar com o Botão Direito em Source Files > Add > New Item
Criando um Programa
Inserir um novo arquivo fonte no projeto
Code > C++ File (.cpp) > Primeiro
Criando um Programa
Primeiro.cpp está pronto para edição
Um projeto pode conter vários arquivos fonte
Criando um Programa
Digitar o primeiro programa
Use linhas em branco e indentação para organizar o código
Compilando um Programa
Compilar e executar o programa
Clicar no Botão Start Debugging
Compilando um Programa
O projeto precisa ser compilado antes de ser executado
Do not show this dialog again >Yes
Compilando um Programa
O compilador encontrou erros no programa
Do not show this dialog again > No
Compilando um Programa
Achar os erros no código fonte
Clicar no botão Go to Next Message
Compilando um Programa
Localizar marcação do erro no código fonte
Nem sempre o erro está na linha indicada
Compilando um Programa
Corrigir os erros, salvar e re-compilar o programa
Clicar no botão Start Debugging
Executando um Programa
Compilação bem sucedida... programa rodando
Pressionar qualquer tecla para fechar o programa
Erros de Sintaxe
 Erros de sintaxe são fáceis de identificar 
durante a compilação do programa
#include <iostream>
using namespace std;
int main()
{
int cenouras; // declara uma variável inteira
cenouras = 25 // atribui um valor a uma variável
cout << "Eu tenho << cenouras << " cenouras." << endl;
abacaxi = cenouras – 1; // decrementa a variável
cout << "Agora eu tenho " << cenouras << " cenouras." << endl;
system("pause");
return 0;
}
Erros de Semântica
 Erros semânticos nem sempre são 
detectados na compilação, o programa roda 
mas dá um resultado errado
#include <iostream>
using namespace std;
int main()
{
int dias; // declara uma variável inteira
cout << "Numero de Dias: ";
cin >> dias; // lê um valor para a variável
int horas = dias * 60;
cout << dias << " dias tem " << horas << " horas." << endl;
system("pause");
return 0;
}
Erros de Semântica
 Erros semânticos nem sempre são 
detectados na compilação, o programa roda 
mas dá um resultado errado
Depuração
 A depuração de programas é usada para 
identificar erros difíceis de encontrar
 Depurar significa:
 Executar o programa linha a linha
 Verificar os valores das variáveis durante a 
execução do programa
 Adicionar pontos de parada no código
Step Over
 No Visual Studio podemos iniciar a execução 
passo a passo do programa através:
 Menu Debug > Step Over
 Tecla de Atalho F10
Watch
 Uma linha de código é executada a cada 
pressionamento do F10
 Os valores das variáveis podem ser 
acompanhados pelas guias Autos, 
Locals ou Watch
Breakpoint
 Um ponto de parada pode ser inserido em 
qualquer parte do código e causa a parada da 
execução do programa naquela linha
Depuração com Funções
 Ao depurar programas com funções pode-se 
utilizar:
 Step Over (F10): executa funções em passo único
 Step Into (F11): entra nas funções para fazer uma 
execução passo a passo
 Um breakpoint dentro da definição da função 
causará a parada do programa a cada 
chamada da função
Depuração com Funções
#include <iostream>
using namespace std;
int soma(int, int);
int main()
{
int a = soma(8,10);
int b = 12 + soma(15, soma(3,2)) + a;
cout << "As aulas tem " << b + soma(3,7) << " horas." << endl;
system("pause");
return 0;
}
int soma(int x, int y)
{
int temp;
temp = x + y;
return temp;
}
Depuração com Vetores
 A depuração é muito útil para encontrar 
problemas no tratamento de vetores
 É possível visualizar o valor de seus elementos a 
cada repetição do laço
Depuração com Vetores
#include <iostream>
using namespace std;
int main()
{ 
int v[5]; // cria vetor de 5 elementos
int total = 0; // guarda soma dos valores
for (int i=0; i < 5; i++)
{
cout << " Digite valor #" << i+1 << ": ";
cin >> v[i];
}
for (int i=0; i<=5; i++)
total = total + v[i];
cout << "Total: " << total << endl;
system("pause");
return 0;
}

Continue navegando