Répondre à la discussion
Affichage des résultats 1 à 4 sur 4

debug fortran



  1. #1
    blable

    debug fortran


    ------

    Bonsoir,

    j'ai fait un programme sous fortran, qui compile, mais en le faisant tourner, il m'affiche " erreur de segmentation " , première fois que je vois ça.
    En cherchant un peu, j'ai cru comprendre qu'un debugger serait adapté, j'utilise gdb.

    Ainsi, en le faisant tourner, il affiche
    Program received signal SIGSEGV, Segmentation fault.
    0x08048cb8 in rangsuiv_ ()
    Current language: auto; currently asm
    et en faisant un 'backtrace full', j'obtiens:

    #0 0x08048cb8 in rangsuiv_ ()
    No locals.
    #1 0x08048aa8 in MAIN__ ()
    No locals.
    je précise que rangsuiv est une subroutine.

    Devant la maigreur de ce diagnostic, je vous demande quelles autres options de debugage je pourrais utiliser

    Merci

    Blable

    -----

  2. #2
    Calvert

    Re : debug fortran

    Salut !

    Les "segmentation faults" sont dues à des dépassements de mémoire. Typiquement, un dépassement d'indice dans un tableau, ou une boucle qui remplit "indéfiniment" un tableau.
    Si ton code n'est pas trop long, poste le ici, on verra ce qu'on peut faire !

  3. #3
    JPL
    Responsable des forums

    Re : debug fortran

    Poste en utilisant la balise Code
    Rien ne sert de penser, il faut réfléchir avant - Pierre Dac

  4. #4
    blable

    Re : debug fortran

    Merci de vous être intéressés au sujet,

    je pensais bien que c'était ces histoires de tableaux, mais c'est vraiment le debug qui m'a déçu par sa sécheresse. Finalement, j'ai corrigé mon programme et tout fonctionne, mais 2 questions me viennent à l'esprit :

    - pour augmenter la taille de tableaux au fur et à mesure pour ne pas pomper trop de place car la croissance de leur taille est exponentielle, j'utilisais la fonction (de)allocate , mais à chaque fois, je perdais les données du tableau qui y étaient déja ( c'était d'ailleurs à l'origine du pb de segmentation) , alors ma question est : peut-on ajouter simplement des colonnes à un tableau ?

    -deuxième question, mon programme qui marche bien pour certaines valeurs d'arguments, va très lentement dès que l'argument prend des valeurs conséquentes

    il s'affiche alors des phrases types
    Fortran runtime error: Attempt to allocate negative amount of memory. Possible integer overflow
    ou
    erreur de segmentation
    à ce sujet est-ce que mettre mes variables en double précision peut être bénéfique?

    ma deuxième (troisième en fait) question est: est-ce que je peux augmenter l'espace de mémoire vive dédié pour faire tourner mon programme, si oui, comment ?

    Merci beaucoup, bonne soirée
    Blable

  5. A voir en vidéo sur Futura

Discussions similaires

  1. Question PICkit 2 Debug Express
    Par invite56321 dans le forum Électronique
    Réponses: 11
    Dernier message: 19/04/2011, 12h03
  2. ICD2, debug et quartz
    Par Gérard dans le forum Électronique
    Réponses: 14
    Dernier message: 12/05/2010, 10h19
  3. pickit 2 debug express
    Par McCorwin dans le forum Électronique
    Réponses: 2
    Dernier message: 31/05/2008, 13h10
  4. PICkit™ 2 Debug Express
    Par snowcartel dans le forum Électronique
    Réponses: 2
    Dernier message: 30/03/2008, 08h43
  5. Debug
    Par sdow dans le forum Logiciel - Software - Open Source
    Réponses: 2
    Dernier message: 06/09/2006, 17h50
Découvrez nos comparatifs produits sur l'informatique et les technologies.