共用方式為


在 VS Code 中除錯 WASM 模組

你可以在本地除錯 WASM 模組,方法是利用 Visual Studio Code 中的斷點和內建除錯器。 本文將說明如何在 Azure IoT 操作 本地開發環境中設定並使用除錯器。

在完成本文步驟前,先建立本地開發環境,並在本地建置並執行圖形應用程式。 欲了解更多資訊,請參閱 建構 WASM 模組以了解資料流程

先決條件

執行「 使用結構登錄檔搭配 WASM 模組 」範例來建立範例工作區。

設定偵錯

  1. 在工作區打開檔案operators/filter/src/lib.rsschema-registry-scenario

  2. 點擊行號旁的邊界或按 filter,找到F9函式並設定斷點。

    fn filter(input: DataModel) -> Result<bool, Error> {
        let DataModel::Message(message) = input else {
            return Err(Error {message: "Unexpected input type.".to_string()});
        };
        // ... rest of function
    }
    

進行除錯的建置

  1. Ctrl+Shift+P 開啟指令面板並搜尋 Azure IoT 操作: Build All Data Flow Operators

  2. 選擇 除錯 作為建置模式。 等待建置完成。

啟用調試後執行

Ctrl+Shift+P 開啟指令面板並搜尋 Azure IoT 操作: Start Development Environment。 選擇 除錯 作為執行模式。

  1. 按下 Ctrl+Shift+P,搜尋 Azure IoT 操作: Run Application Graph

  2. 請選擇圖表檔案。lldb-debug.graph.dataflow.yaml

  3. 選擇 除錯 作為執行模式。

  4. 在你的 VS Code 工作區選擇 data 輸入資料的資料夾。 DevX 容器會啟動,執行帶有樣本輸入的圖表。

  5. DevX 容器啟動後,你會看到 host-app 容器以 lldb-server 開始進行除錯。

除錯 WASM 模組

  1. 執行會自動在你於filter函式中設定的斷點停止。

  2. 使用 VS Code 除錯介面來:

    • 變數 面板中檢查變數值。
    • 透過 F10F11逐步完成程式碼。
    • 請在 通話堆疊 面板中查看通話堆疊。
    • 為特定變數或表達式設置監控。
  3. 按下或選擇F5按鈕繼續執行

  4. 除錯器會在每則正在處理的訊息的斷點停止,讓你能檢視資料流。

偵錯提示

  • 使用 除錯主控台 來評估表達式並檢查執行狀態。
  • 透過右鍵點擊斷點並加入條件來設定條件斷點。
  • 使用 F9 來切換斷點,而不會移除它們。
  • 變數面板顯示區域變數與函數參數的當前狀態。

此除錯功能讓您能排除問題、了解資料流,並在部署至生產環境前驗證 WASM 模組邏輯。