O depurador GNU

Apesar faço

automatiza o processo de construção de um programa de Linux, que parte da programação é a menor das suas preocupações quando um programa não funciona corretamente ou quando um programa de repente sai com uma mensagem de erro. Você precisa de um depurador para encontrar a causa de erros de programa. Linux inclui gdb - o depurador GNU versátil, com uma interface de linha de comando.

Como qualquer depurador, gdb permite executar tarefas de depuração típicos, como o seguinte:

  • Definir um ponto de interrupção para que o programa pára em uma linha especificada.

  • Assista os valores das variáveis ​​no programa.

  • Passo através do programa de uma linha de cada vez.

  • Mudar variáveis ​​em uma tentativa de corrigir erros.

o gdb depurador pode depurar programas em C e C ++.

Preparando-se para depurar um programa

Se você deseja depurar um programa usando gdb, você tem que garantir que o compilador gera e coloca informações de depuração no executável.

As informações de depuração contém os nomes de variáveis ​​em seu programa e o mapeamento de endereços no arquivo executável para linhas de código no arquivo de origem. gdb precisa dessas informações para desempenhar as suas funções, como parar depois de executar uma linha específica de código-fonte.

Para se certificar de que o executável está devidamente preparado para depuração, use o -g opção com GCC. Você pode fazer esta tarefa, definindo a variável CFLAGS no makefile Como

CFLAGS = -g

correndo gdb

A maneira mais comum para depurar um programa é executado gdb usando o seguinte comando:

gdb progname

progname é o nome do arquivo executável do programa. Depois de progname corre, gdb exibe a seguinte mensagem e solicita um comando:

GNU gdb (GDB) 7.5.91.20130417-cvs-ubuntuCopyright (c) 2013 Free Software Foundation, Inc.License GPLv3 +: GNU GPL versão 3 ou posterior ___This é software livre: você é livre para alterá-lo e redistribuí it.There é NENHUMA GARANTIA , até o limite permitido por lei. Tipo "show cópia" e "show de garantia" para details.This GDB foi configurado como "i686 - linux-gnu" .Para instruções de reporte bug, consulte: http: //gnu.org/software/gdb/bugs/. (gDB)

Você pode digitar gdb comandos no (gdb) pronto. Um comando útil, Socorro, exibe uma lista de comandos, como a próxima listagem mostra:

(GDB) SocorroLista de classes de comandos: aliases - Alias ​​de outros commandsbreakpoints - fazendo parada do programa em determinado pointsdata - Datafiles Examinando - especificação e examinando filesinternals - commandsobscure Manutenção - featuresrunning Obscure - Executando o programstack - Examinando a stackstatus - - facilitiestracepoints Suporte - - Estado inquiriessupport rastreamento da execução do programa sem parar o definido pelo programuser - commandsType definido pelo usuário "help" seguido de um nome de classe para uma lista de comandos em que class.Type "ajudar a todos" para a lista de todos commands.Type "help" seguido pelo nome de comando para abreviaturas nome completo documentation.Command são permitidas se não ambígua. (gDB)

Para sair gdb, digitar q e pressione Enter.

menu