Debugger en C++

13 views
Skip to first unread message

J. L. Pino

unread,
Nov 22, 2008, 7:21:29 PM11/22/08
to gucp...@googlegroups.com
Estoy buscando un buen depurador para C++ y he probado Nemiver, ddd y gdb (bueno este último no lo he probado, al leer como funcionaba ya he echado a correr xD) y ninguno de los tres me ha convencido.
Voy a probar kdbg como GUI para gdb pero no he encontrado muchos otros depuradores para probar, así que me gustaría saber cuál soléis utilizar vosotros (aunque sea el de algún IDE).

Alfonso E. Romero

unread,
Nov 22, 2008, 7:44:37 PM11/22/08
to gucp...@googlegroups.com
Yo no uso un depurador como tal (para ver valores de las variables y demás), sino un "depurador de memoria" (el famoso valgrind con la herramienta "memcheck", que es lo que coloquialmente se llama simplemente "valgrind"). Con valgrind puedes descubrir dónde están los accesos a zonas de memoria no válida, memory leaks (memoria que no se libera), uso de variables no inicializadas, etc. Yo lo considero herramienta básica para un desarrollador de C++ en un proyecto medianamente grande. Si eres cuidadoso programando, con esta herramienta te puedes bastar.

Hay otras herramientas de valgrind que también son muy útiles: callgrind como medio de hacer profiles (cuyas salidas se pueden abrir con kcachegrind, acojonante) y massif (para ver cuál es el consumo de memoria de tu programa durante su ejecución).

Desgraciadamente creo que no es multiplataforma porque supongo que dependerá de llamadas al sistema concretas del kernel (al menos en su momento [2005] no había port a cygwin, por ejemplo).




2008/11/23 J. L. Pino <gala...@gmail.com>

Estoy buscando un buen depurador para C++ y he probado Nemiver, ddd y gdb (bueno este último no lo he probado, al leer como funcionaba ya he echado a correr xD) y ninguno de los tres me ha convencido.
Voy a probar kdbg como GUI para gdb pero no he encontrado muchos otros depuradores para probar, así que me gustaría saber cuál soléis utilizar vosotros (aunque sea el de algún IDE).





--
---
Alfonso E. Romero
Web: http://decsai.ugr.es/~aeromero
Blog: http://misvaguedades.blogspot.com
alfonso...@gmail.com

JJ Merelo

unread,
Nov 23, 2008, 2:59:15 AM11/23/08
to gucp...@googlegroups.com
gdb no es tan malo si lo usas desde emacs; es bastante parecido a un depurador "tradicional"


--
JJ

Alfonso E. Romero

unread,
Nov 23, 2008, 7:36:26 AM11/23/08
to gucp...@googlegroups.com
Preveo flamewar emacs vs vi en 3, 2, 1... ;)

2008/11/23 JJ Merelo <jjme...@gmail.com>

gdb no es tan malo si lo usas desde emacs; es bastante parecido a un depurador "tradicional"


--
JJ



J. L. Pino

unread,
Nov 25, 2008, 8:19:13 AM11/25/08
to gucp...@googlegroups.com
Gracias a todos por vuestras aportaciones. valgrind sin duda es de gran ayuda para capturar errores en la gestión de memoria dinámica, yo buscaba un depurador más simple para comprobar el correcto funcionamiento de un programa y que no me mostrase únicamente la dirección de memoria cuando tengo un puntero (como hacer nemiver). KDbg al menos me muestra el primer elemento de un vector cuando hay un puntero así que le daré al menos una oportunidad xD

Pablo Reyes

unread,
Nov 25, 2008, 9:04:31 AM11/25/08
to Grupo de usuarios de C++ de la UGR
No he participado en ningun proyecto "medianamente grande", pero para
las cosas que he hecho siempre he usado ddd. He de reconocer que es el
único que he probado, pero hasta ahora me ha ido bastante bien.
Tambien lo uso para ensamblador.

On 25 nov, 14:19, "J. L. Pino" <galast...@gmail.com> wrote:
> Gracias a todos por vuestras aportaciones. valgrind sin duda es de gran
> ayuda para capturar errores en la gestión de memoria dinámica, yo buscaba un
> depurador más simple para comprobar el correcto funcionamiento de un
> programa y que no me mostrase únicamente la dirección de memoria cuando
> tengo un puntero (como hacer nemiver). KDbg al menos me muestra el primer
> elemento de un vector cuando hay un puntero así que le daré al menos una
> oportunidad xD
>
> El 23 de noviembre de 2008 13:36, Alfonso E. Romero <
> alfonsoerom...@gmail.com> escribió:
>
> > Preveo flamewar emacs vs vi en 3, 2, 1... ;)
>
> > 2008/11/23 JJ Merelo <jjmer...@gmail.com>
>
> >> gdb no es tan malo si lo usas desde emacs; es bastante parecido a un
> >> depurador "tradicional"
>
> >> --
> >> JJ
>
> > --
> > ---
> > Alfonso E. Romero
> > Web:http://decsai.ugr.es/~aeromero<http://decsai.ugr.es/%7Eaeromero>
> > Blog:http://misvaguedades.blogspot.com
> > alfonsoerom...@gmail.com

pmarin

unread,
Dec 5, 2008, 9:37:36 AM12/5/08
to Grupo de usuarios de C++ de la UGR
Yo uso gdb desde la xterm, al final siempre acaba siendo más rápido
que usando un front-end pero c++ es un lenguaje difícil de trazar. Por
ejemplo los comando print y display no tienen mucha utilidad con la
STL .

On 23 nov, 13:36, "Alfonso E. Romero" <alfonsoerom...@gmail.com>
wrote:
> Preveo flamewar emacs vs vi en 3, 2, 1... ;)
>
> 2008/11/23 JJ Merelo <jjmer...@gmail.com>
>
> > gdb no es tan malo si lo usas desde emacs; es bastante parecido a un
> > depurador "tradicional"
>
> > --
> > JJ
>
> --
> ---
> Alfonso E. Romero
> Web:http://decsai.ugr.es/~aeromero
> Blog:http://misvaguedades.blogspot.com
> alfonsoerom...@gmail.com
Reply all
Reply to author
Forward
0 new messages