corner imagecorner image
FeaturesPluginsDocs & SupportCommunityPartners

Tutorial Depurando projetos C/C++

O tutorial breve seguinte guia você por alguns dos recursos de depuração de um projeto C ou C++ no NetBeans IDE 6.5.

Conteúdo

O conteúdo desta página se aplica ao NetBeans IDE 6.5
Requisitos
Criando o projeto de amostra
Criando pontos de interrupção
Iniciando uma sessão de depuração
Inspecionando o estado do aplicativo

Requisitos

Para seguir este tutorial, você precisa dos seguintes recursos e softwares.

Software ou recurso Versão necessária
NetBeans IDE versão 6.5 com NetBeans C/C++ pack
Java Developer Kit (JDK) versão 6 ou 5
Plataforma Windows:
Compiladores GNU C e C++, make, gdb

www.cygwin.com
www.mingw.org
Plataformas Solaris:
Compiladores GNU C e C++
Compiladores Sun C e C++
make e gmake do Solaris
gdb

3.4.3
5.9 (Sun Studio versão 12)
3.80
6.6 ou 6.8
Plataformas Linux:
Red Hat Fedora Core:
gcc e g++
gdb
GNU make

Ubuntu:
gcc e g++
gdb
GNU make

4.1.2
6.6 ou 6.8
3.81


4.1.2
6.6 ou 6.8
3.81
Plataformas Mac OS X:
gcc e g++
gdb
GNU make
Pacote Xcode

4.0.1
6.3.50
3.80
6.5

Consulte Instruções de instalação do NetBeans IDE 6.5 e Instalando e configurando suporte a C/C++ para obter informações sobre como baixar e instalar o software necessário.

Criando o projeto de amostra

O NetBeans C/C++ Pack 6.5 usa o depurador gdb e fornece inúmeros recursos para a depuração dos seus projetos. Para explorar esses recursos, usaremos o projeto Quote. Caso você ainda não tenha criado esse projeto, faça o seguinte:

  1. Escolha Arquivo > Novo projeto.
  2. No assistente do projeto, expanda a categoria Amostras e selecione a subcategoria C/C++.
  3. Selecione a subcategoria Aplicativo, em seguida, selecione o projeto Quote. Clique em Próximo e em Terminar.

Criando pontos de interrupção

Você pode criar e manipular pontos de interrupção em seu código a qualquer momento sem iniciar uma sessão de depuração.

Criando e removendo um ponto de interrupção de linha

  1. No projeto Quote_1, abra o arquivo quote.cc.
  2. Defina um ponto de interrupção, clicando na margem esquerda da janela Editor de código-fonte ao lado da linha 173 (response = readChar("Enter disk module type: (S for single disks, R for RAID; Q - exit)", 'S');). A linha é realçada em vermelho para indicar que o ponto de interrupção está definido.
  3. Você poderia remover o ponto de interrupção, clicando no ícone na margem esquerda.
  4. Escolha Janela > Depuração > Pontos de interrupção para abrir a janela Pontos de interrupção. Os pontos de interrupção de linha são listados na janela.

Criando um ponto de interrupção de função

  1. Escolha Depurar > Novo ponto de interrupção (Ctrl+Shift+f8) para abrir a caixa de diálogo Novo ponto de interrupção.
  2. Na lista suspensa Tipo de ponto de interrupção, defina o tipo como Função.
  3. Digite o nome da função Customer::GetDiscount no campo de texto Nome da função. Clique em OK.

  4. Captura de tela da janela Adicionar ponto de interrupção

  5. Seu ponto de interrupção de função é definido e adicionado à lista na janela Pontos de interrupção.

Iniciando uma sessão de depuração

Quando você inicia uma sessão de depuração, o IDE inicia o depurador gbd, em seguida, executa o aplicativo dentro do depurador. O IDE abre automaticamente as janelas do depurador e imprime a saída do depurador na janela Saída.

  1. Inicie uma sessão de depuração do projeto Quote_1, clicando com o botão direito do mouse no nó do projeto e escolhendo Depurar. O depurador se inicie e o aplicativo é executado, e as janelas Variáveis locais, Inspeções e Pilha de chamadas se abrem.

  2. Abra a janela Sessões escolhendo Janela > Depuração > Sessões. A sessão de depuração é mostrada nessa janela.

Inspecionando o estado do aplicativo

  1. O aplicativo Quote_1 solicita a entrada na janela E/S externa.

  2. Indique um nome de cliente depois do aviso "Indique o nome do cliente:".

  3. O aplicativo pára no ponto de interrupção que você definiu anteriormente. Abra a janela Pontos de interrupção, escolhendo Janela > Depuração > > Pontos de interrupção. A janela lista os dois pontos de interrupção que você definiu anteriormente. O ponto de interrupção da função é exibido em negrito.

  4. Captura de tela da aba Pontos de interrupção

  5. Clique na aba Pilha de chamadas. A pilha de chamadas mostra três quadros.

  6. Captura de tela da aba Pilha de chamadas

  7. Clique na aba Variáveis locais e observe que uma variável é exibida. Clique nos ícones de expansão (quadros pequenos com sinais de adição) para expandir a estrutura.

  8. Captura de tela da aba Variáveis locais

  9. Clique no botão Continuar. A função GetDiscount é executada, imprimindo o desconto do cliente na janela E/S externa. Em seguida, você é solicitado a fazer a entrada.

  10. Indique a entrada em resposta aos avisos. O programa pára no próximo ponto de interrupção, o ponto de interrupção de linha definido anteriormente. No arquivo quote.cc, a seta verde do contador de programa aparece sobre o ícone do ponto de interrupção indicando a linha em que o programa é parado.

    Captura de tela do editor de código-fonte

  11. Clique na aba Variáveis locais e observe a longa lista de variáveis locais.

  12. Captura de tela da aba Variáveis locais

  13. Clique na aba Pilha de chamadas e observe que há somente um quadro na pilha.
  14. Escolha Janela > Depuração > Threads. A janela Threads se abre mostrando dois threads. O thread atual é exibido em negrito.

    Captura de tela da janela Threads

  15. Escolha Janela > Depuração > Registros. A janela Registros se abre, exibindo o conteúdo atual dos registros.

    Captura de tela da janela Registros

  16. Escolha Janela > Depuração > Desmontador. A janela Desmontador se abre, exibindo as instruções de montagem do arquivo de código-fonte atual.

    Captura da tela da janela Desmontador

  17. Clique no botão Continuar e continue indicando a entrada em resposta aos avisos na janela E/S externa até que o programa seja concluído. Quando você indica Q para sair do programa, a janela E/S externa fecha e a sua sessão de depuração termina. Para terminar a sessão de depuração antes que a execução do programa seja concluída, você pode clicar com o botão direito do mouse na sessão na aba Sessões e escolher Terminar ou Depurar > Terminar sessão do depurador.