Udostępnij za pośrednictwem


Debugowanie modułów WASM w programie VS Code

Moduły WASM można debugować lokalnie przy użyciu punktów przerwania i zintegrowanego debugera w Visual Studio Code. W tym artykule pokazano, jak skonfigurować debuger i używać go z lokalnym środowiskiem projektowym Operacje Azure IoT.

Przed wykonaniem kroków opisanych w tym artykule skonfiguruj lokalne środowisko deweloperskie i skompiluj i uruchom lokalnie aplikację grafu. Aby uzyskać więcej informacji, zobacz Build WASM modules for data flows (Tworzenie modułów WASM dla przepływów danych).

Wymagania wstępne

Uruchom przykład użycia rejestru schematów z modułami WASM , aby skonfigurować przykładowy obszar roboczy.

Konfigurowanie debugowania

  1. Otwórz plik operators/filter/src/lib.rs w obszarze roboczym schema-registry-scenario .

  2. filter Znajdź funkcję i ustaw punkt przerwania, klikając na marginesie obok numeru wiersza lub naciskając 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
    }
    

Kompilowanie na potrzeby debugowania

  1. Naciśnij Ctrl+Shift+P, aby otworzyć paletę poleceń i wyszukać Operacje Azure IoT: Kompiluj wszystkie operatory Przepływ danych.

  2. Wybierz pozycję Debuguj jako tryb kompilacji. Poczekaj na zakończenie kompilacji.

Uruchamianie z włączonym debugowaniem

Naciśnij Ctrl+Shift+P, aby otworzyć paletę poleceń i wyszukać Operacje Azure IoT: Start Development Environment. Wybierz pozycję Debuguj jako tryb uruchamiania.

  1. Naciśnij Ctrl+Shift+P i wyszukaj Operacje Azure IoT: Uruchom program Application Graph.

  2. lldb-debug.graph.dataflow.yaml Wybierz plik grafu.

  3. Wybierz pozycję Debuguj jako tryb uruchamiania.

  4. data Wybierz folder w obszarze roboczym programu VS Code dla danych wejściowych. Kontener DevX zostanie uruchomiony, aby uruchomić graf z przykładowymi danymi wejściowymi.

  5. Po uruchomieniu kontenera DevX zobaczysz, jak kontener host-app uruchamia się z elementem lldb-server do celów debugowania.

Debugowanie modułu WASM

  1. Wykonanie automatycznie zatrzymuje się w punkcie przerwania filter, który ustawiłeś w funkcji.

  2. Użyj interfejsu debugowania programu VS Code, aby:

    • Sprawdź wartości zmiennych w panelu Zmienne .
    • Przechodź przez kod używając F10 lub F11.
    • Wyświetl stos wywołań w panelu Stos wywołań.
    • Dodaj zegarki dla określonych zmiennych lub wyrażeń.
  3. Kontynuuj wykonywanie, naciskając F5 lub wybierając przycisk Kontynuuj .

  4. Debuger zatrzymuje się w punkcie przerwania dla każdego przetwarzanego komunikatu, umożliwiając inspekcję przepływu danych.

Porady dotyczące debugowania

  • Użyj konsoli debugowania , aby ocenić wyrażenia i sprawdzić stan środowiska uruchomieniowego.
  • Ustaw warunkowe punkty przerwania, klikając prawym przyciskiem myszy punkt przerwania i dodając warunki.
  • Użyj F9 do włączania i wyłączania punktów przerwania bez ich usuwania.
  • Panel Zmienne pokazuje bieżący stan zmiennych lokalnych i parametrów funkcji.

Ta funkcja debugowania umożliwia rozwiązywanie problemów, zrozumienie przepływu danych i zweryfikowanie logiki modułu WASM przed wdrożeniem w środowisku produkcyjnym.