2012-11-15 5 views
1

J'utilise "thrgibbs1f90b" un de la famille de programmes BLUPF90 qui est basé sur "fortran" et utilisé pour l'échantillonnage de gibbs pour estimer la composante de variance pour les données binaires. Dans chaque fois que je tente de lancer thrgibbs1f90b je reçois le message d'erreur suivant:forrtl: severe (157): Program Exception - violation d'accès

forrtl: sévère (157): Exception du programme - violation d'accès

Image    PC    Routine   Line  Source 

thrgibbs1f90b.exe 0000000140021961 Unknown Unknown Unknown 
thrgibbs1f90b.exe 000000014000BB5B Unknown Unknown Unknown 
thrgibbs1f90b.exe 000000014026B41C Unknown Unknown Unknown 
thrgibbs1f90b.exe 000000014024F4E3 Unknown Unknown Unknown 
kernel32.dll   0000000076E2652D Unknown Unknown Unknown 
ntdll.dll   0000000076F5C521 Unknown Unknown Unknown 

Toute idée pourquoi j'ai ce message?

Merci!

Répondre

2

Deux suppositions éclairées

  1. Le programme a essayé de lire ou d'écrire à un élément de tableau qui n'existe pas, comme l'élément 26 d'un tableau de 25 éléments.
  2. Il existe une discordance entre les arguments fictifs spécifiés pour une procédure et les arguments réels dans un appel à la procédure; par exemple le passage d'une valeur réelle de 4 octets lorsqu'une valeur de 8 octets est attendue (ou vice-versa)

une ou l'autre de ceux-ci peut conduire à une tentative d'accès à un emplacement de mémoire à laquelle le processus du programme a aucun droit d'accès. Il y a beaucoup d'autres causes possibles, mais dans mon expérience ce sont les erreurs les plus courantes dans les programmes Fortran qui donnent lieu à de tels messages d'erreur.

Les deux sont faciles à repérer, vous devez (re) compiler votre programme avec les options du compilateur réglées pour vérifier ces conditions.

Questions connexes