Necesito algunas aclaraciones sobre cómo funciona GDB en el entorno IDE en la nube9
¿Hay dos cosas diferentes tipos de depuradores que el IDE entorno?
-
Depurador, a través de
debug
entrada de comando que se ve, ¿compilación paso a paso / verifica las entradas? (para el archivo fuente) -
GDB, que verifica el programa ejecutable?
Además, ¿cómo se pasan argumentos a GDB? Parece que no puedo darme cuenta de esto.
Estoy mirando pset4 y quiero ejecutar GDB en la «copia» ejecutable y pasar una entrada y un nombre de archivo de salida
¿cómo haría eso en la terminal
EDIT
también mi el depurador siempre está roto también
Respuesta
Para ejecutar GDB con argumentos en la terminal, use el parámetro –args.
gdb --args name arg1 arg2 arg3
debug50 (el depurador gráfico) es solo GDB con una GUI. GDB fue diseñado originalmente para ejecutarse a través de la terminal, y todavía lo es. Es mucho más flexible que cualquier depurador gráfico.
- Aquí hay una guía de referencia completa para GDB: https://sourceware.org/gdb/current/onlinedocs/gdb/
- Y aquí «una hoja de referencia que encontré: https://cs.brown.edu/courses/cs033/docs/guides/gdb.pdf
Sin embargo, estos son algunos conceptos básicos:
- Depuración paso a paso:
next (or n)
-
La configuración de un punto de interrupción se realiza con
break (or b) [function or line number]
, por ejemplo:break main
obreak 20
donde «20» es la línea a romper. -
Ejecute el programa con
run (or r)
. -
Utilice
continue or c
para saltar al siguiente punto de interrupción. -
Para imprimir una variable dentro de GDB (sin usar
printf()
) escribaprint varname
.
Alternativamente, ahora que conoce algunos comandos, puede ejecutar su programa con algunos argumentos con [r]un arg1 arg2 arg3
.
En cuanto a su problemas con debug50, lamento decir que el predecesor de debug50 se rompió y parece que debug50 ahora también está roto. Nunca logré arreglarlo al menos.
Comentarios
- ¡Gracias por la respuesta tan profunda !. También otra pregunta, ¿GDB está preinstalado en algunos entornos linux Bash y tal vez en el símbolo del sistema de Windows?
- GDB viene preinstalado en todas las distribuciones de Linux hasta donde yo sé, y ciertamente en las más populares (arch, debian, ubuntu , etc.). Para obtenerlo en Windows, es posible que tenga que usar Cygwin o MinGW (colecciones de herramientas y cosas Linux / GNU / POSIX), no ' sé si el " descarga oficial " en la página de descarga de GDB gnu.org/software/gdb realmente admite Windows, no he ' probado.