Qual é o melhor depurador Linux C / C ++ (ou front-end para gdb) para ajudar no ensino de programação? [fechadas]


106

Eu ensino uma espécie de curso de programação C ++ "leve" para iniciantes ("lite" significa sem ponteiros, sem classes, apenas C simples e antigo, mais referências e strings STL e vetores). Os alunos não têm experiência anterior em programação, então acredito que usar um depurador interativo os ajudaria a entender o fluxo, as variáveis ​​e a recursão do programa.

O curso é ministrado em Linux. Ensiná-los a usar o gdb é um exagero (eles não usarão nem compreenderão a maioria dos recursos). Eu só preciso de algo simples, mas fácil de usar: para ver em qual linha o programa está agora, o que está na pilha (variáveis ​​locais, chamadas anteriores, etc.). Eu pareço com o antigo Turbo Pascal ou com o depurador do Turbo C ++ Borland, ou com o depurador do Visual Studio.

Obrigado,


4
Não entendo a lógica de ensinar C ++ sem aulas. Mas reconheço o esforço ... De ensino, quero dizer :-)
m-ric

1
C / C ++ não me parece uma boa opção para iniciantes ...
Jaime Hablutzel

Respostas:


36

ddd é um front-end gráfico para gdb que é muito bom. Um dos lados ruins é uma interface X clássica, mas eu me lembro dela ser bem intuitiva.


2
DDD é realmente um ótimo front-end. Eu costumava ensinar C ++. Meus alunos nunca conseguiram entender como usar o gdb, mas depois de mostrar a eles um rápido tour pelo ddd (apenas o básico e dizer a eles para compilar com -g), eles rapidamente se tornaram muito mais proficientes em depurar seu código e entender o que aconteceu. A IU pode parecer "velha e desatualizada", mas por que consertar o que obviamente funciona?
wasatz

43
ddd tem uma das interfaces de usuário mais feias que eu já vi imgur.com/UFTBjnW
ubershmekel

3
embora eu tenha usado muito o ddd para C, ele tem um suporte bastante pobre para vetores e std :: things em geral. Ele requer regularmente que eu forneça o nome mutilado de algo para configurar um ponto de interrupção também. Eu não o recomendaria para estudantes que estão fazendo seus primeiros passos em C ++.
PypeBros

1
O DDD é ótimo para inspecionar estruturas de dados porque você pode colocá-los em uma grande mesa e ver como eles apontam um para o outro e outras coisas. Mas é verdade que só é útil para dados estilo C (sem STL, ponteiros em todos os lugares).
Roman Plášil de

1
Essa coisa tem 17 anos.
Rolf

25

Você pode tentar usar o Insight, um front-end gráfico para gdb escrito pela Red Hat. Ou, se você usar o ambiente de área de trabalho GNOME, também pode experimentar o Nemiver .


4
O Insight é tão incrível, mas foi removido do Debian e não consigo instalá-lo no meu Linux .. Não sei quem é o responsável, mas ele entrou na minha lista de inimigos mortais e se eu o encontrar, ele enfrentará minha ira! Qualquer-quem; ainda há uma maneira de fazê-lo funcionar, mas a interface do usuário está um pouco confusa: baptiste-wicht.com/2012/01/…
MasterMastic

@SamuelLampa apt-get install nemiver
Narek Babajanyan

@MasterMastic, foi removido porque ninguém o manteve, eu acho. Não se preocupe, você pode assumir!
Andrewsh

16

Você pode querer verificar o Eclipse CDT. Ele fornece um IDE C / C ++ que funciona em várias plataformas (por exemplo, Windows, Linux, Mac OS X, etc.). A depuração com o Eclipse CDT é comparável ao uso de outras ferramentas como o Visual Studio.

Você pode verificar o tutorial de depuração do Eclipse CDT que também inclui várias capturas de tela.


14
Cara, os alunos levarão semanas para aprender apenas o Eclipse.
MrFox de

14
-1 por recomendar Eclipse
Celeritas

7
Não vou -1 pontos, mas IDE é uma merda.
ovrwngtvity

2
E já que vocês reclamam muito, o que vocês recomendam? code :: blocks que não são atualizados há 3 anos?
JohnJohn

3
Eclipse é ótimo para Java, mas é muito ruim para C / C ++ ...

14

O Qt Creator , além de outras vantagens, também tem uma boa integração de depurador, para CDB, GDB e o depurador Symnbian, em todas as plataformas suportadas. Você não precisa usar Qt para usar o Qt Creator IDE, nem precisa usar QMake - ele também possui integração com CMake, embora QMake seja muito fácil de usar.

Você pode querer usar o Qt Creator como o IDE para ensinar programação, considere que ele tem alguns bons recursos:

  • Editor C ++ muito inteligente e avançado
  • Ferramentas de gerenciamento de projeto e construção
  • Integração QMake e CMake
  • Sistema de ajuda sensível ao contexto integrado
  • Excelente depurador visual (CDB, GDB e Symbian)
  • Suporta GCC e VC ++
  • Ferramentas de navegação rápida de código
  • Suporta Windows, Linux e Mac OS X

Ele suporta a depuração de pequenos programas que não possuem arquivos de projeto? Lembro-me de usá-lo em meu programa maior, mas a primeira configuração foi muito difícil, embora o IDE seja muito bom.
syockit

12

Talvez seja indireto ao gdb (porque é um IDE), mas minhas recomendações seriam o KDevelop . Sendo bastante mimado com o depurador do Visual Studio (profissionalmente trabalhando por muitos anos), até agora me senti mais confortável depurando no KDevelop (como um hobby em casa, porque eu não podia pagar pelo Visual Studio para uso pessoal - até o lançamento da Express Edition ) Ele "parece algo semelhante ao" Visual Studio em comparação com outros IDEs com os quais experimentei (incluindo Eclipse CDT) quando se trata de depuração passo a passo, passo a passo, etc (colocar pontos de interrupção é um pouco estranho porque eu não gosto de usar muito o mouse ao codificar, mas não é difícil).

Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.