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.