Depurar o programa C++ no Linux

escrevi um programa C++ simples como este:

#include <iostream>
using namespace std;
int main()
{
    cout << "Hello.";
    return 0;
}
Agora quero depurar. Então, qual será o comando para que o meu controlo vá para todas as linhas?

Author: sashoalm, 2008-12-16

5 answers

Pode usar gdb para isto:

$ gdb hello

Isto vai começar gdb e perguntar-te o que fazer a seguir. O comando next executa uma linha de código e pára na linha seguinte.

Encontrei um tutorial básico {[[12]}do GDB que pode ser útil.

 27
Author: Greg Hewgill, 2011-11-04 14:44:37

Não se esqueça de compilar o seu código fonte usando a opção-G. Assim: Isto vai criar um ficheiro executável a. out. Você será capaz de depurar o seu exe a. out usando o comando gdb ./a.out. Outra ferramenta que você pode usar é DDD basicamente uma interface gráfica para o gdb.

Boa sorte.
 17
Author: dario minonne, 2008-12-16 08:04:27
Eu sempre pensei emacs forneceu um front-end fácil de usar para o gdb...

Por exemplo

  • % g++ hello.cc -g-O hello
  • emacs hello.cc
  • [ In Emacs ] Escape-x gdb
  • o Emacs dirá " execute o gdb (como este): gdb ".
  • Adicione o seu nome binário ("Olá"). (Ex. "Run gdb (like this): gdb hello".)
  • vá para o seu hello.cc buffer.
  • Use o comando Emacs 'gud-break' para definir um ponto de paragem no gdb da sua hello.cc buffer. (Normally bound to "C-x space".)
  • Vai ao teu buffer.
  • escreva "executar" na linha de comandos (gdb).
  • utilizar [n ] próximo ou [S ] Passo. Quer [C ] Continuar. [BT ] Backtrace também é útil.
  • Repara no que acontece ao pequeno triângulo na coluna mais à esquerda da tua hello.cc buffer.
(Isso deve ser suficiente para começar. Os Emacs são emacs, há sempre mais recurso...)
 6
Author: Mr.Ree, 2008-12-16 10:42:15

Se quiser algum depurador amigável, poderá usar o Kdbg, que é basicamente uma interface gdb para o KDE. Talvez não tão poderoso como o ddd, mas mais fácil de começar.

 3
Author: Marc, 2008-12-16 08:07:45

No curso de programação em C++ que fiz na Suécia, havia uma parte do laboratório sobre o depurador GNU. Eu nunca o usei depois, mas Aqui Há um papel que explica o uso básico, tanto quanto me lembro, está no capítulo 2.

 3
Author: tunnuz, 2008-12-16 17:46:01