2017-08-25 87 views
-1

我正在運行fortran代碼。代碼沒有暫停,也沒有任何要求用戶執行任何操作的開關。它應該始終以無止境的方式運行。這是一個具有大外部循環和幾個OpenMP內部循環的代碼。我輸出的唯一東西是更大外部循環的索引,以便我可以知道代碼在哪裏。奇怪的暫停行爲Fortran

該代碼通常運行沒有問題。然而,最後兩次我運行它,代碼停止沒有錯誤(我知道,因爲核心使用率開始爲0%)。但是,如果我按下控制檯中的輸入代碼恢復正常。

所以我的問題是,有什麼辦法可以在運行時暫停fortran代碼,而不必在代碼中明確停頓?

+0

哪個操作系統?視窗?在後面的情況下,可能會在終端窗口中選擇阻止進一步輸出,並且選擇將通過刪除。 – albert

+0

是的。視窗。讓我試着去做,看看是否就是這樣。 – phdstudent

回答

0

您的程序中是否有任何READ聲明?如果他們在等待輸入,他們會暫停終端。

例如,以下程序看起來像是在循環中間暫停。按Enter鍵允許繼續。

integer i 
do i = 1, 10 
    if (i == 5) read(*, *) 
    print *, i 
end do 
end 

也許您或其他人爲調試目的添加了READ並忘記將其刪除?