Fejlsøgning i et Basic-program

Pausepunkter og udførelse af enkelte trin

Du kan kontrollere hver linje i dit Basic-program for fejl ved at bruge enkelt trinudførelse. Fejl er lette at spore eftersom du straks kan se resultatet af hvert trin. En markør i pausepunktskolonnen på editoren indikerer den aktuelle linje. Du kan også sætte et pausepunkt, hvis du vil tvinge programmet til at blive afbrudt ved den konkrete position.

Dobbeltklik i kolonnen pausepunkt til venstre for editorvinduet for at sætte et pausepunkt ved den tilsvarende linje. Når programmet når et pausepunkt, afbrydes programudførelsen.

Enkelt trin udførelse ved brug af ikonet Enkelt trin får programmet til at forgrene i procedurer og funktioner.

Procedurens trinvise udførelse ved at bruge ikonet Proceduretrin får programmet til at springe over procedurer og funktioner, som et enkelt trin.

Egenskaber for et pausepunkt

Egenskaberne for et pausepunkt er tilgængelige gennem dets genvejsmenu ved at højreklikke på pausepunktet i pausepunktskolonnen.

Du kan aktivere og deaktivere et pausepunkt ved at vælge Aktiv fra dens genvejsmenu. Når et pausepunkt er deaktiveret, afbryder den ikke programudførelsen.

Vælg Egenskaber fra genvejsmenuen for et pausepunkt eller vælg Pausepunkter fra genvejsmenuen for pausepunktskolonnen for at kalde dialogen Pausepunkter, hvor du kan angive andre pausepunktsindstillinger.

Listen viser alle Pausepunkter med det tilsvarende linjenummer i kildekoden. Du kan aktivere eller deaktivere et valgt pausepunkt ved markere/afmarkere feltet: Aktiv.

Gennemløb angiver antal gange, pausepunktet kan gennemløbes, før programmet afbrydes. Hvis du indtaster 0 (standardindstilling), afbrydes programmet altid, så snart et pausepunkt bliver mødt.

Klik på Slet for at fjerne pausepunktet fra programmet.

Observering af værdien for variable

Du kan overvåge værdierne for en variabel ved at tilføje den til vinduet Observatør. For at tilføje en variabel til listen med overvågede variable, skriv variabelnavnet i tekstfeltet Observatør og tryk på Enter.

Værdierne af variablene bliver kun vist, hvis de er relevante i det aktuelle område (scope). Variable, som ikke er defineret ved den aktuelle placering i kildeteksen, vises med ("Out of scope") i stedet for en værdi.

Du kan også inkludere arrays i observatørvinduet. Hvis du indtaster navnet på en arrayvariabel uden indeksværdi i tekstfeltet Observatør, vises indholdet af hele arrayet.

Tipikon

Hvis du lader musen hvile over en foruddefineret variabel i editoren på kørselstidspunktet, vises indholdet af variablen i en pop-op boks.


Kommandostakvinduet

giver et overblik over kommandohierarkiet for procedurer og funktioner. Du kan fastslå hvilke procedurer og funktioner, der har kaldt andre procedurer og funktioner ved det aktuelle punkt i kildeteksten.

Liste over kørselsfejl

1 Der er opstået en undtagelse

2 Syntaksfejl

3 Return uden Gosub

4 Ukorrekt indtastning; prøv igen

5 Ugyldigt Procedurekald

6 Overløb

7 Mangel på hukommelse

8 Array er allerede dimensioneret

9 Index uden for det definerede område

10 Dobbelt definition

11 Division med nul

12 Variable ikke defineret

13 Datatypen passer ikke

14 Ugyldig parameter

18 Processen afbrudt af bruger

20 Resume uden fejl

28 Ikke nok stack hukommelse

35 Sub-procedure eller funktionsprocedure ikke defineret

48 Fejl under indlæsning af DLL-fil

49 Forkert konvention for DLL-kald

51 Intern fejl

52 Ugyldig filenavn or filnummer

53 Fil ikke fundet

54 Ukorrekt filtilstand

55 Fil allerede åben

57 Enhed I/O fejl

58 Filen findes allerede

59 Ukorrekt post-længde

61 Diskette eller harddisk fyldt

62 Læsning efter EOF

63 Ukorrekt postnummer

67 For mange filer

68 Enhed ikke tilgængelig

70 Adgang nægtet

71 Disken er ikke klar

73 Ikke implementeret

74 Omdøbning på forskellige drev er ikke muligt

75 sti/fil adgangsfejl

76 Sti ikke fundet

91 Objektvariabel ikke sat

93 Ugyldigt mønster i strengen

94 Brug af nul ikke tilladt

250 DDE-fejl

280 Afventer svar til DDE-forbindelsen

281 Ingen DDE-kanaler tilgængelige

282 Intet program reagerede på åbning af DDE-forbindelse

283 For mange programmer reagerede på åbning af DDE-forbindelse

284 DDE-kanal låst

285 Eksternt program kan ikke eksekvere DDE-operation

286 Timeout ventende på DDE-svar

287 bruger trykkede ESCAPE under DDE-operation

288 Eksternt program er optaget

289 DDE-operation uden data

290 Data har forkert format

291 Eksternt program blev afsluttet

292 DDE-forbindelsen afbrudt eller ændret

293 DDE-metode kaldt uden åben kanal

294 Ugyldigt DDE-link format

295 DDE-besked gik tabt

296 Indsæt kæde er allerede udført

297 Kædetilstand kan ikke sættes pga. ulovlig kædetitel

298 DDE kræver filen DDEML.DLL

323 Modulet kan ikke indlæses; ugyldigt format

341 Ugyldigt objekt indeks

366 Objekt er ikke tilgængeligt

380 Ukorrekt værdi for egenskab

382 Denne egenskab er skrivebeskyttet

394 Denne egenskab er læsebeskyttet

420 Ugyldig objektreference

423 Egenskab eller metode ikke fundet

424 Objekt nødvendig

425 Ugyldig brug af et objekt

430 OLE Automation er ikke understøttet af dette objekt

438 Denne egenskab eller metode understøttes ikke af objektet

440 OLE automationsfejl

445 Denne handling er ikke understøttet af det angivne objekt

446 Navngivne argumenter understøttes ikke af det givne objekt

447 Den aktuelle sprogindstilling understøttes ikke af det givne objekt

448 Navngivent argument ikke fundet

449 Argumentet er ikke valgfrit

450 Ugyldigt antal argumenter

451 Objektet er ikke en liste

452 ulovligt ordenstal

453 Specificeret DLL-funktion findes ikke

460 Ulovligt klippebordsformat

951 Uventet symbol:

952 Forventet:

953 Symbol forventet

954 Variabel forventet

955 Mærke forventet

956Værdi kan ikke tildeles

957 Variabel allerede defineret

958 Sub- eller Funktions-procedure allerede defineret

959 Label allerede defineret

960 Variabel ikke fundet

961 Matrix eller procedure ikke fundet

962 Procedure ikke fundet

963 Label ikke defineret

964 Ukendt data type

965 Exit forventet

966 Instruktionsblok stadig åben: der mangler

967 Parenteser passer ikke sammen

968 Symbol allerede defineret anderledes

969 Parametre passer ikke til proceduren

970 Ulovligt tegn i tal

971 Array skal være dimensioneret

972 Else/Endif uden If

973 ikke tilladt inden for en procedure

974 ikke tilladt uden for en procedure

975 Specifikation af dimensioner stemmer ikke

976 Ukendt valg:

977 Konstanten omdefineret

978 Programmet er for stort

979 Strenge eller arrays ikke tilladt

1000 Objektet har ikke denne egenskab

1001 Objektet har ikke denne metode

1002 Krævet argument mangler

1003 Ulovligt antal argumenter

1004 Fejl ved gennemførelse af en metode

1005 ikke i stand til at definere egenskab

1006 Egenskab kunne ikke bestemmes