¿Algo similar al depurador DDD para Windows?

Me gusta mucho el depurador DDD , porque ofrece una representación visual de las estructuras de datos, como esta:

Buscar en Google no arrojó una compilación para Windows, probablemente porque es una interfaz para el depurador GNU (aunque hay un puerto de Windows para eso).

Supongo que podría usar DDD con Cygwin, pero siempre tengo problemas para que X-windows funcione con Cygwin.

En cualquier caso, preferiría una solución pura de Windows sin Cygwin.

¿Alguien sabe de una bestia así? Y gratis, por favor, no comercial.


[Actualización] unos años más tarde, y en un artículo del Dr. Dobbs que leí

Tampoco DDD para los compiladores de Microsoft y Borland, porque GDB no entiende su información de depuración.

Entonces, parece que la respuesta, lamentablemente, es NO.

+1 pero no es gratis. Y, vea el comentario a la respuesta aceptada; De hecho, es una interfaz de depuración, pero no es DDD. IE, no puede mostrar una lista vinculada como se muestra arriba.
¿Tal vez ddd se puede construir con mingw?
¿Quizás? Si no lo sabes, ¿por qué publicar? Tal vez se pueda hacer con un trozo de queso...
MS ha abierto el código fuente de PDB , por lo que ahora Clang entiende ese formato y puede interactuar con los depuradores de Windows, aunque no sé si DDD funciona con lldb o no. En mi humilde opinión, la lista vinculada no se usa comúnmente (y no debería usarse en general ), por lo que la depuración de listas vinculadas no es muy útil en comparación con la depuración visualizada de otras estructuras de datos, en lo que Visual Studio es bueno. Sin embargo, es útil para estructuras de árbol.

Respuestas (1)

Puede probar Gnat Programming Studio ( https://www.adacore.com/community ), que es un IDE compatible con Ada, C y C++ (y más)

Como todos los IDE, puede crear proyectos y depurarlos, pero también puede cargar ejecutables directamente. Si la ruta de las fuentes coincide con la fuente en el disco, funcionará con un proyecto predeterminado, que se describe fácilmente en un archivo pseudo-Ada:

project Default is
    for Source_Dirs use ("src");
    for Object_Dir use "obj";
    for Main use ("main.c");
    for Languages use ("C");
end Default;

Tiene una interfaz gdb gráfica y una visualización de gráficos similar a DDD / Eclipse (depende de las versiones) y versión nativa de Windows (sin Cygwin). También puede escribir comandos directamente en la consola gdb.

La versión mostrada es la edición profesional, pero la versión gratuita se lanza anualmente y obtiene las funciones profesionales, solo un poco más tarde.

En la captura de pantalla a continuación, he probado graph display ncuál es una estructura de mi programa.

typedef struct node_
{
  struct node_ *next;
  int v;
} Node;

ingrese la descripción de la imagen aquí

Puede que no sea lo que desea (ya que se parece más a la depuración de Eclipse), pero antes se parecía mucho a DDD (y probablemente pensaron que estaba obsoleto). Investigaré más para ver si la visualización del gráfico anterior todavía está disponible, mientras tanto, tiene un depurador gratuito/relativamente liviano que no requiere una configuración de Eclipse.

EDITAR: también puede probar la versión anterior de Gnat Programming Studio descargable aquí:

https://www.adacore.com/download/more

seleccione x86 (32 bits) y el año 2017 (en 2018 eliminaron la visualización del gráfico, fastidio)

Mi ejemplo es un poco complicado, pero con un poco de trabajo (usando sabiamente "punteros de desreferencia") podrías lograr algo.

ingrese la descripción de la imagen aquí

Eso se ve bien, pero ¿puede mostrar una lista vinculada según mi pregunta? Si su vpestructura contuviera un puntero a otra estructura, ¿qué vería (¿puede publicar un ejemplo, por favor?) Sospecho que sería un árbol, y tal vez podría vivir con eso, ya que no parece que soy va a obtener un diagrama, como con DDD. Si su nueva imagen se ve bien, votaré y otorgaré la respuesta.
déjame crear un ejemplo de lista enlazada. Debo admitir que nunca probé eso.
hecho, el resultado de alguna manera no es lo que espera, pero las versiones anteriores pueden coincidir. He preguntado a los autores.
Eso es ciertamente mejor que cualquier otra cosa que haya visto en Windows (@Izzy, ¿por qué no puedo ver el botón "aceptar"?). Si puede encontrar algo que se parezca aún más a DDD, agregaré una bonificación. Gracias; Puedo verte convirtiéndote en un miembro valioso de nuestra comunidad :-)
¡jajaja! Izzy, olvídalo: esta publicación se parece tanto a una de las mías, que pensé que lo era. He estado buscando algo como esto durante años. @Jean, avíseme si puede encontrar algo más como DDD; en cualquier caso, te daré un bono, pero si es más gráfico, será un bono mayor :-)
no tienes que aceptar ya que no es exactamente lo que pediste, por mí está bien. sí, GPS (Gnat Programming Studio) está muy subestimado porque originalmente se hizo para Ada, pero ahora (y con mis millones de informes de errores) se está volviendo muy bueno en C y muy bueno en C ++ (gracias al motor de análisis clang). Tampoco necesita el espacio de trabajo engorroso y la configuración compleja que necesita Eclipse. Sin embargo, tengo que probar la versión gratuita / verificar las más antiguas (incluso si usar versiones anteriores no es tan bueno porque no se beneficia de las correcciones de errores)
Ja, ja, en realidad me había olvidado de usar Gnat, allá por el 2000 al 2004 para Ada 95. ¡Felices días! Si tiene una buena relación con el equipo de Gnat, pídales que agreguen diagramas, como lo hace DDD. Dado que es FOSS, es posible que puedan reutilizar una gran cantidad de código.
Solían tener esos diagramas. He hecho una pregunta para el equipo de soporte para ver cómo recuperarlos o lo que sea. Y también me tomé el tiempo para probar la versión gratuita de GPS y está muy, muy cerca de la versión profesional (aunque no actualicé las capturas de pantalla)
Después de mirar la comparación de características, no puedo ver que realmente necesite una versión paga. Lo probaré para (incrustado) C y C++. Gracias por la recomendación
la versión paga está más actualizada en cuanto a errores y funciones. La versión gratuita se lanza una vez al año. esa es la única diferencia pero una grande :)
@Mawg He actualizado mi respuesta. Hay una versión anterior que puede estar muy cerca de sus necesidades.
¡Excelente! No puedo agradecerte lo suficiente por esto. No puedo entender por qué quitaron esa característica.
bueno, probablemente lo quitaron para que se pareciera más a Eclipse... (lo cual apesta)
¿Por qué no simplemente hacerlo basado en Eclipse, con un montón de complementos? Eso es lo que todos los demás parecen hacer
porque tienen su propio IDE desde hace un tiempo, mucho antes de que Eclipse se volviera "utilizable" para C. El problema de Eclipse es ese maldito espacio de trabajo y la complejidad que conlleva. Tienen un complemento, pero para la gestión de proyectos .gpr, no para la depuración . GPS usa un archivo de proyecto (como borland y IDE "antiguos") que permite abrir el proyecto y compilar. No hay necesidad de malditos espacios de trabajo binarios que tiene que recrear cada vez que cambia su cuenta/máquina.