[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:
- Asegurarse que las líneas termina en la columna 72. El resto será
ignorado.
- ¿Se corresponde la lista de parámetros con la lista de argumentos que se
están pasando?
- ¿Se correnponden los bloques comunes?
- ¿Se esta haciendo división entera cuando se quiere división real?
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
]