Fortran 除錯


Microsoft Fortran PowerStation

按鍵 功能
F5 執行
Shift+F5 重新執行
F8 逐步執行
F9 設定/解除中斷點
Shift+F9 觀看變數內容
Alt+F5 停止除錯,結束執行程式

註:在 Visual Fortran 5.0

按鍵 功能
F8
F10 執行該行敘述
F11 逐步執行

  一個程式常會因設計上的 bug 而造成無法執行或結果錯誤,因此,除錯便成為設計程式上重要的一環,有人說,發展一個程式,有 50% - 80% 的時間花在除錯上,由此可見除錯之重要了!

  PowerStation 4.0 在發展環境介面上有提供除錯的工具,在使用上必須選擇 Win32 Debug 才能使用到 PowerStation 提供的功能,以下的文章均假定你是使用除錯模式執行程式。

註:你可以在左上角的下拉式視窗發現 Win32 Release Win32 Debug ,若你僅使用 Win32 Debug 模式,則程式會因加入太多除錯用到的符號、旗標而拖慢程式執行的效率,建議在發展時採用 Debug 模式,當程式完全發展完成才用 Release 模式再編譯一次。

  以前我們發現變數資料有問題時,會採用一個很古老的技巧:

Write(*,*) VarValue

  將上述敘述加在程式各處以便查看變數值,而在 PowerStation 中可以採用逐步執行、隨時監視各變數,首先,改用:

F5 執行。從現在所在的程式碼執行到中斷點暫停。
Shift+F5 重新執行。從頭的程式碼執行到中斷點暫停。
F8 逐步執行。執行現在的程式碼一行。

設定中斷點變數顯示值

 

設定 Quick Watch

  來啟動程式,使用 F5 Shift+F5 需注意程式中要設中斷點,假設用 F8 啟動程式,你會注意到你的程式碼區會多一個黃色箭號,黃色箭號就是現在你的程式「將要」執行的程式碼,程式左下角會有一個 Variables 區,右下角會有一個 Watch 區,如果你找不到,可以用 View 選單分別把 Variables Watch 區叫出來, Variables 區顯示所有變數的值, Watch 區只顯示你設定要監看的變數, Watch 區除可顯示你設定要監看的變數外,亦可監看計算式,設定監看的變數方法如下:

  • 1.在欲監看的變數拉成反白區。可用滑鼠或 Shift + 方向鍵。

    2. Shift+F9

    3.若沒有要更改的,直接選擇 Add Watch 即可,但也可在 Expression 區更改成別的變數或是計算式。

  •   如上, Watch 區即增加一個變數即時監看。

      若發現你的程式變數值錯誤,但只要更改變數值後,就能繼續除錯,亦可在 Variables Watch 區中直接修改其值繼續執行,或在 Add Watch 中修改。另外亦可將滑鼠停在該變數上約一秒,亦會顯示該變數的值。

      但每次都按 F8 逐步執行遇到大程式可能會瘋掉,所以就可以利用中斷點來協助執行。例如說前 1000 行都沒問題,那就可以在第 1001 行設定中斷執行,則程式會在第 1001 行執行前先停下來,你可以改用 F8 逐步執行,或監看變數是否正確再利用 F5 繼續執行。設定中斷點只需要在欲中斷的那行按 F9 ,設定完成後會在程式碼區顯示棕色圓點表示。

      另外提到有關於陣列的即時監看部分,如果在反白的時候,只選擇陣列名 (Array) ,而不含陣列引數 (Array(3)) ,則會將所有的陣列完全納入監看區,用可展開的小十字顯示,可展開亦可收納。

      最後,若發現程式執行錯誤,不想繼續執行,可用:

    Alt+F5 停止除錯,結束執行程式。

      結束程式執行。

     

    : 設定錯誤中斷顯示 (Win32 Debug): Build Menu -> Settings -> Fortran -> Fortran Language Extended Bounds and Error Checking 選項打勾


    福傳語言