matrices example ejemplo array allocate arrays gdb fortran

arrays - example - dimension fortran



gdb: ImpresiĆ³n de dos dimensiones fortran array (2)

Esta pregunta ya tiene una respuesta aquí:

Tener un problema con el uso de GDB para imprimir los valores de dos matrices dimensionales en el código Fortran.

(gdb) print var(1,2) no such vector element

Después de una extensa búsqueda, he encontrado muchas publicaciones con fecha ~ 2007 - 2010 sobre el problema. La mayoría termina con alguien sugiriendo un parche. ¿Alguna vez se resolvió este problema en la versión actual (estoy usando el 7.4-2012.04)? No hay publicaciones actuales sobre el tema, ¿se ha solucionado o hay una solución adecuada disponible?

una sugerencia es cambiar a c

(gdb) set language c (gdb) print neighbours $47 = 0xbfaeae44 (gdb) print *neighbours $48 = 0xbfaeae44 (gdb) print 0xbfaeae44 $49 = 3215896132

¿Cómo puedo imprimir el valor apuntado y hacer la aritmética del puntero con esto?

Gracias


Sí, ha habido problemas con esto en el pasado. No estoy seguro de si esto es cierto en el último gdb.

Alternativamente, puede usar dbx (desde Solaris Studio ) que está disponible gratuitamente y tiene una GUI más agradable. Btw Solaris Studio incluye un depurador, analizador, compiladores C / C ++ / Fortran, Sunperf lib y toda la instalación es menos que un concierto.

Siempre utilizo los compiladores de GNU pero Solaris Studio es útil cuando trabajo con programas Fortran especialmente mientras se depuran / rastrean errores / advertencias, de conformidad con estándares, etc. Por lo general, es mejor verificar el código con múltiples compiladores de todos modos. El analizador es especialmente útil cuando se usa OpenMP (para detectar razas).


Una posible solución es usar un gdb obtenido de Archer (git) http://sourceware.org/gdb/wiki/ArcherBranchManagement , branch archer-jankratochvil-vla. Lo he descargado con EGit (Eclipse), y lo he compilado e instalado ( ./configure , make , sudo make install ) en Mandriva 2010/2011 y Ubuntu Precise Pengolin. Para hacer eso, debes tener algunos paquetes instalados, depende de tu distribución. Usted tiene algunos mensajes en caso de errores que lo ayuden a encontrar el paquete que falta. En Ubuntu, el nuevo gdb se inicia por defecto, en la línea de comandos. He usado el gdb obtenido en Eclipse (Photran) y NetBeans, funciona bien, casi como el IDE comercial de Windows, en el entorno de GUI.