Dart:
Bruke en debugger

Hvordan:

Grunnleggende feilsøking:

1. Sette brytepunkter:

For å sette et brytepunkt, klikk på venstre marg av kodelinjen i din IDE (f.eks., Visual Studio Code eller Android Studio) der du vil at utførelsen skal pause.

void main() {
  var melding = 'Hei, Feilsøking';
  print(melding); // Sett et brytepunkt her
}

2. Starte feilsøking:

I din IDE, start en feilsøkingsøkt ved å klikke på feilsøkingssymbolet eller trykke på feilsøkingsknappen. Utførelsen vil pause ved brytepunkter.

3. Inspisere variabler:

Når utførelsen er pauset, hold musepekeren over variabler for å se deres nåværende verdier.

4. Gå gjennom kode:

Bruk kommandoene for å steg over, steg inn i, og steg ut av i din IDE for å navigere gjennom koden din en linje eller funksjon om gangen.

Avansert feilsøking med Observatory:

Dart inkluderer et verktøy kalt Observatory for feilsøking og profilering av Dart-applikasjoner. Det er spesielt nyttig for applikasjoner som kjører på Dart VM.

Tilgang til Observatory:

Kjør Dart-applikasjonen din med --observe-flagget.

dart --observe ditt_program.dart

Denne kommandoen skriver ut en URL til konsollen, som du kan åpne i en nettleser for å få tilgang til Observatory-feilsøkeren.

Bruke populære tredjepartsbiblioteker:

For feilsøking av Flutter-applikasjoner, tilbyr flutter_devtools-pakken et sett med ytelses- og feilsøkingsverktøy som integrerer med både Dart VM og Flutter.

Installasjon:

Først, legg til devtools i din pubspec.yaml-fil under dev_dependencies:

dev_dependencies:
  devtools: any

Starte DevTools:

Kjør denne kommandoen i terminalen din:

flutter pub global run devtools

Deretter starter du din Flutter-applikasjon i feilsøkingsmodus. DevTools tilbyr funksjoner som Flutter-inspektøren for widgettreaksanalyse og nettverksprofilering for overvåking av nettverksaktivitet.

Eksempel på utdata:

Når du treffer et brytepunkt, kan din IDE vise variabelverdier og stakksporinger slik:

melding: 'Hei, Feilsøking'

Ved å effektivt utnytte feilsøkingsverktøy og -teknikker i Dart, kan utviklere identifisere og løse problemer raskere, noe som fører til en jevnere utviklingsprosess og mer robuste applikasjoner.