Bonjour,
Je résouds un système linéaire AT=B par la subroutine SGTSV de LAPACK. Je traite une grande matrice de taille (899,899). La compilation se fait avec succès. Par contre, lors de l'exécution une erreur se produit : Segmentation fault (core dumped). J'ai bien vérifié la taille de mes tableaux ainsi que leurs indices pour ne pas excéder les index.
Pour les solutions, j'ai vu qu'il faut compiler avec débogage. Pour ce faire: j'ai tapé la commande suivante:
avec l'option -fbounds-check et pour l'exécution : gdb ./test1.exe et le code affiche:
Code : Sélectionner tout - Visualiser dans une fenêtre à part gfortran -fbounds-check test1.f90 -o test1.exe /usr/lib/liblapack.a /usr/lib/libblas.a
c'est pareil si je tape la commande suivante pour la compilation: gfortran -g test1.f90 -o test1.exe /usr/lib/liblapack.a /usr/lib/libblas.a et pareil pour l'exécution: gdb ./test1.exeLe code met du temps après cette opération pour s'exécuter (des heures) ! est-ce normal??gdb ./test1.exe
GNU gdb (Ubuntu/Linaro 7.4-2012.04-0ubuntu2.1) 7.4-2012.04
Copyright (C) 2012 Free Software Foundation, Inc.
License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html>
This is free software: you are free to change and redistribute it.
There is NO WARRANTY, to the extent permitted by law. Type "show copying"
and "show warranty" for details.
This GDB was configured as "i686-linux-gnu".
For bug reporting instructions, please see:
<http://bugs.launchpad.net/gdb-linaro/>...
Reading symbols from /home/ipsa/Documents/codes eq chaleur/res eq ch variable/res_var_lib/test1.exe...(no debugging symbols found)...done.
(gdb)
Si oui, faut-il l'attendre jusqu'à la fin de l'exécution?
Si oui, il faut faire quoi après le débogage? Comment déterminer l'erreur du code??
Merci d'avance,
Partager