[18. Estilo de programación ]  [Tutorial de Fortran]  [20. Características Principales de Fortran 90 ]

19. Sugerencias de depuración

Se ha estimado que cerca del 90% del tiempo que toma desarrollar un software comercial se usa en depurar y probar. Lo anterior no dice lo importante que es escribir buen código desde el primer momento.

Todavía, se deben descubrir los errores (bugs). A continuación algunas sugerencias de como descubrirlos Here are some hints for how to track them down.

Opciones útiles del compilador

Muchos compiladores de Fortran tienen un conjunto de opciones que pueden ser activadas si así se desea. Las siguientes opciones del compilador son particulares para el compilador de Linux, pero muchos compiladores pueden tener opciones similares.
-ggdb
Generar información de depuración en el formato de fortran, incluyendo extensiones de GDB si es posible.

Algunos errores comunes

Se muestran algunos errores comunes que se deben vigilar:

Debugging tools

Si se tiene un error, se debe intentar localizarlo. Los errores de sintaxis son fáciles de hallar. El problema es cuando se tienen errores en tiempo de ejecución. La forma vieja para encontrar errores es agregar sentencias write en el código y tratar de llevarles la pista a las variables. Esto es un poco tedioso ya que se debe recompilar el código fuente cada vez que se haga algún cambio. Actualmente se pueden usar los depuradores (debuggers) que son una herramienta muy conveniente. Se puede avanzar en pasos a través del programa, ya sea línea por línea o se pueden colocar puntos de interrupción (breakpoints). También se pueden mostrar los valores de las variables que se quieran observar, entre varias tareas. Muchas máquinas UNIX tendrán gdb y dbx. Desafortunadamentes estos son difíciles de aprender ya que tienen una interfaz antigua, que es del tipo orientada a líneas. Revisar si hay alguna interfaz gráfica disponible, como xdbx o dbxtool. En particular para usar gdb se puede compilar el programa como:
$ f77 -ggdb -o circulo circulo.for
Para usar el depurador y poner un breakpoint en el módulo principal teclear:
$ gdb circulo

(gdb) break MAIN__


 [18. Estilo de programación ]  [Tutorial de Fortran]  [20. Características Principales de Fortran 90 ]