2012-11-15 54 views
1

我正在使用基於「fortran」的BLUPF90系列程序之一「thrgibbs1f90b」,並用於gibbs採樣來估計二進制數據的方差分量。在每一個我嘗試運行thrgibbs1f90b我收到以下錯誤消息時:forrtl:嚴重(157):程序異常 - 訪問衝突

forrtl:嚴重(157):程序例外 - 訪問衝突

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 

任何想法,爲什麼我有這樣的消息?

謝謝!

回答

2

兩個猜測

  1. 該方案已經試圖讀取或寫入到不存在,如一個25元件陣列的第26元素的數組元素。
  2. 爲過程指定的虛擬參數與調用過程中的實際參數之間存在不匹配;例如通過一個4字節的實值時的8字節值預期(或反之亦然

的這些任一可能導致試圖訪問該程序的過程中有一個存儲器位置沒有訪問權限。還有其他許多可能的原因,但以我的經驗來看,這些是Fortran程序中最常見的錯誤,這些錯誤會導致出現此類錯誤消息。

這兩個都很容易發現,你需要(重新)編譯你的程序,編譯器選項設置爲檢查這些條件