2011-08-04 49 views
1

我在Cygwin Bash Shell中運行可執行文件。該可執行文件是編譯Fortran代碼;我在代碼末尾放置了一條Fortran語句PRINT *, "done"(就在最後一行代碼之前,END PROGRAM aug3,其中aug3是我的程序的名稱。代碼似乎編譯正常,我得到一個生成的可執行文件,a.exe 。在Cygwin的,如果我使用命令執行A.EXE而該文件夾中:在Cygwin Bash Shell上運行可執行文件時出現錯誤消息(sig_complete事件失敗)

$ ./a 
done 

...這表明(但並不能證明),我的程序運行完畢,因爲Fortran的聲明PRINT *, "done"是我Fortran代碼中的倒數第二行,在END PROGRAM aug3之前。但是,在打印done之後,Cygwin剛好位於 - 我沒有獲取另一個命令提示符,如果我嘗試鍵入內容,則不會顯示文本。約一分鐘後,我得到下面的錯誤消息(和之後,我終於得到另一個命令提示):

12 [主]一個592 sig_send:等待sig_complete事件失敗,信號6,RC
258 ,Win32錯誤0
中止

你知道這是什麼錯誤信息意味着什麼?它是否可能引用我的Fortran代碼中的問題(在這種情況下,我應該在Fortran留言板上提出這個問題),還是可能是我的Cygwin Bash問題?當我在互聯網上搜索時,posts that I see似乎表明「等待sig_complete事件失敗」證明Cygwin存在問題。

您對我如何診斷和修復錯誤信息有任何建議嗎?

+1

* cygwin編譯的代碼,還是編譯爲另一個平臺,你只是想在cygwin下運行它? –

+1

這看起來更像是一個關於Cygwin作爲Windows應用程序的問題,而不是關於Cygwin作爲unix實現的問題。所以我認爲它會對[su]更好。 – Gilles

+0

謝謝。它被編譯爲* Cygwin,使用通過Cygwin安裝程序安裝的gfortran編譯器。 – Andrew

回答

0

我很抱歉...我發現我的錯誤,我的程序正在工作。在我的Fortran代碼中,我無意中引用了一個超出界限的數組元素,儘管我從來沒有得到數組索引超出界限的錯誤消息。修復這個bug意味着我的程序現在不僅編譯好,而且運行良好。感謝您的所有時間和所有的耐心。對不起,浪費你的時間在「我的壞」上。此線程已解決。

相關問題