¿Cuál es el mejor depurador de Linux C / C ++ (o front-end a gdb) para ayudar a enseñar programación? [cerrado]

106

Enseño una especie de curso de programación "lite" en C ++ para principiantes ("lite" significa que no hay punteros, no hay clases, simplemente C antiguo, además de referencias, cadenas y vectores STL). Los estudiantes no tienen experiencia previa en programación, por lo que creo que el uso de un depurador interactivo les ayudaría a comprender el flujo, las variables y la recursividad del programa.

El curso se imparte en Linux. Enseñarles a usar gdb es una exageración (no usarán ni comprenderán la mayoría de las funciones). Solo necesito algo simple pero fácil de usar: ver en qué línea está ahora el programa, qué hay en la pila (variables locales, llamadas anteriores, etc.). Me veo algo similar al antiguo depurador de Turbo Pascal o Turbo C ++ Borland, o al depurador de Visual Studio.

Gracias,

omer.gimenez
fuente
4
No entiendo el fundamento de enseñar C ++ sin clases. Pero reconozco el esfuerzo ... De enseñar quiero decir :-)
m-ric
1
C / C ++ no me suena como una buena opción para principiantes totales ...
Jaime Hablutzel

Respuestas:

36

ddd es una interfaz gráfica de gdb que es bastante agradable. Una de las desventajas es una interfaz X clásica, pero creo recordar que es bastante intuitiva.

jbleners
fuente
2
DDD es realmente una gran interfaz. Solía ​​enseñar C ++. Mis estudiantes nunca pudieron entender cómo usar gdb, pero después de mostrarles un recorrido rápido por ddd (solo lo básico y decirles que compilaran con -g) rápidamente se volvieron mucho más competentes para depurar su código y comprender lo que sucedió. La interfaz de usuario puede parecer "antigua y anticuada", pero ¿por qué arreglar lo que obviamente funciona?
wasatz
43
ddd tiene una de las IU
ubershmekel
3
aunque he usado mucho ddd para C, tiene un soporte bastante pobre para vectores y std :: cosas en general. Regularmente también requiere que proporcione el nombre destrozado de algo para establecer un punto de interrupción. No lo recomendaría a los estudiantes que están haciendo sus primeros pasos en C ++.
PypeBros
1
DDD es excelente para inspeccionar estructuras de datos porque puede colocarlas en un escritorio grande y ver cómo se señalan entre sí y demás. Pero es cierto que solo es útil para datos de estilo C (sin STL, punteros en todas partes).
Roman Plášil
1
Esa cosa tiene como 17 años.
Rolf
25

Puede intentar usar Insight, una interfaz gráfica para gdb escrita por Red Hat. O si usa el entorno de escritorio GNOME, también puede probar Nemiver .

Narek Babajanyan
fuente
4
Insight es increíble, pero se eliminó de Debian y no puedo instalarlo en mi Linux ... No sé quién es el responsable, pero él entró en mi lista de enemigos mortales y si lo encuentro, ¡se enfrentará a mi ira! Cualquiera que; todavía hay una manera de hacerlo funcionar, pero la interfaz de usuario está un poco arruinada: baptiste-wicht.com/2012/01/…
MasterMastic
@SamuelLampa apt-get install nemiver
Narek Babajanyan
@MasterMastic, se eliminó porque nadie lo mantuvo, supongo. ¡No te preocupes, puedes hacerte cargo!
andrewsh
16

Es posible que desee consultar Eclipse CDT. Proporciona un IDE C / C ++ que se ejecuta en múltiples plataformas (por ejemplo, Windows, Linux, Mac OS X, etc.). La depuración con Eclipse CDT es comparable a utilizar otras herramientas como Visual Studio.

Puede consultar el tutorial de depuración de Eclipse CDT que también incluye una serie de capturas de pantalla.

Jon Ball
fuente
14
Amigo, los estudiantes tardarán semanas en aprender Eclipse.
MrFox
14
-1 por recomendar Eclipse
Celeritas
7
No voy a -1 puntos pero IDE apesta.
ovrwngtvity
2
Y como ustedes se quejan tanto, ¿qué recomiendan? code :: blocks que no se han actualizado desde hace 3 años?
JohnJohn
3
Eclipse es excelente para Java, pero es bastante malo para C / C ++ ...
14

Qt Creator , además de otras ventajas, también tiene una buena integración de depurador, para CDB, GDB y el depurador Symnbian, en todas las plataformas compatibles. No necesita usar Qt para usar el IDE de Qt Creator, ni necesita usar QMake; también tiene integración con CMake, aunque QMake es muy fácil de usar.

Es posible que desee utilizar Qt Creator como el IDE para enseñar programación, considere que tiene algunas buenas características:

  • Editor de C ++ muy inteligente y avanzado
  • Herramientas de gestión de proyectos y construcciones
  • Integración de QMake y CMake
  • Sistema de ayuda integrado y sensible al contexto
  • Excelente depurador visual (CDB, GDB y Symbian)
  • Soporta GCC y VC ++
  • Herramientas de navegación de código rápido
  • Compatible con Windows, Linux y Mac OS X
Mircea Chirea
fuente
¿Admite la depuración de pequeños programas que no tienen archivos de proyecto? Recuerdo usarlo para mi programa más grande, pero la primera configuración fue bastante dolorosa, aunque el IDE es muy bueno.
syockit
12

Quizás sea indirecto a gdb (porque es un IDE), pero mis recomendaciones serían KDevelop . Al estar bastante mimado con el depurador de Visual Studio (profesionalmente en el trabajo durante muchos años), hasta ahora me he sentido más cómodo depurando en KDevelop (como pasatiempo en casa, porque no podía pagar Visual Studio para uso personal, hasta que salió Express Edition ). Tiene un "aspecto similar" a Visual Studio en comparación con otros IDE con los que he experimentado (incluido Eclipse CDT) cuando se trata de depurar paso a paso, paso a paso, etc. (colocar puntos de interrupción es un poco incómodo porque no Me gusta usar demasiado el mouse al codificar, pero no es difícil).

HidekiAI
fuente