繁體中文
English 简体中文 繁體中文
Methodox 首頁

除錯

Routine 或 Events 圖的執行可以在任何語句之前停下來,供你檢視,然後逐條語句地執行。這僅適用於分步執行的圖;Flows 或 Function 圖沒有可以在其間停下的步驟,它們的執行從不會暫停。

設定斷點

選中一條語句(帶有執行引腳的節點,例如 Print Line),然後按 F9。其標題左側會出現一個紅點,狀態列顯示 Set breakpoint on Print Line。再按一次 F9 即可清除斷點。節點 Properties 中的 Breakpoint 開關作用相同。斷點會隨文件一起儲存,與任何編輯一樣,設定斷點也是復原歷史中的一步。

執行到斷點

按 F5。當執行可以暫停時,畫布周圍會出現一個紅框。執行會在帶斷點的節點之前停止(該節點尚未執行),並且:

  • 該節點帶有粗的琥珀色邊框,顯示 paused,並被移到檢視中央並選中;
  • 工具列上的 Run 顯示為 Stop,Properties 面板切換到 Debug 檢視;
  • 狀態列會顯示該節點及其所在的圖:Paused at Print Line in Graph - F5 continues, F10 steps over, F11 steps into, Shift+F11 steps out, Shift+F5 stops。

在斷點處暫停的執行:畫布周圍的紅框、琥珀色的已暫停節點,以及顯示呼叫堆疊和值的 Debug 檢視

檢視目前位置

Debug 檢視從上到下依次為:

  • Continue、Pause、Stop、Step over、Step into 和 Step out。
  • Paused,以及節點和圖,並提醒該節點尚未執行。
  • Call stack(呼叫堆疊):執行目前所在的每個圖各佔一行,最內層的排在最前,例如 Graph · Print Line, inside For。按一下某一行可檢視該圖,其中執行所在的語句會被標出。
  • Locals:本輪已執行的每個節點,每個引腳佔一行:[In] 表示傳入的內容,[Out] 表示傳出的內容,例如 For 的 [In] End 2 和 [Out] Current Value 0。值尚未計算出來的引腳顯示 no value yet。按一下某一行可檢視完整的值:影像顯示為影像,表格顯示為表格。
  • Data members:圖可以存取的每個資料成員的目前值,例如 [Number] Total 2。

主控台停靠欄的 Locals 和 Call stack 標籤頁列出相同的內容,執行到目前為止列印的內容也已顯示在其 Console 標籤頁中。

繼續執行

按鍵 作用
F5 繼續執行到下一個斷點或結束
F10 單步跳過:執行目前語句,並在同一個圖中的下一條語句之前停止;對另一個 Routine 或 Function 的呼叫會完整執行
F11 單步進入:在下一條語句之前停止(無論在哪裡),會進入該語句呼叫的 Routine
Shift+F11 單步跳出:執行完目前圖,並在呼叫它的圖中停下
Shift+F5 停止執行

Debug 檢視上的 Pause 會在正在進行的執行的下一條語句之前將其停下,這是在沒有斷點的情況下進入長迴圈的方法。暫停時按 F9,可以為本次執行的剩餘部分設定或清除斷點。

語句失敗時

失敗的語句(例如檔案不存在、擷取文字超出了末尾)會使執行在該處暫停,無論是否有斷點。Debug 檢視和狀態列會說明失敗的原因:Paused at Print Line in Graph, which failed: … - F5 ends the run。檢視導致失敗的值,然後按 F5 結束執行(主控台會開啟並顯示該失敗,即其最後一行),或按 Shift+F5 停止執行。