Innehåll

# Felsöka Basic-program

## Brytpunkter och programstegning

Du kan felsöka varje kodrad i ett Basic-program genom att stega igenom programmet. Det gör det lättare att hitta fel, eftersom du omedelbart ser resultatet av varje stegning. En pekare i brytpunktskolumnen i redigeringsfönstret visar den aktuella raden. Du kan också skapa brytpunkter om du vill avbryta exekveringen på ett visst ställe.

Om du dubbelklickar i kolumnen brytpunkt till vänster i redigeringsfönstret skapar du (eller stänger av) en brytpunkt på den aktuella raden. När programmet når fram till brytpunkten avbryts programkörningen.

Du kan köra programmet ett steg i taget genom att använda ikonen Enkelt steg för att följa programkörningen in i procedurer och funktioner.

Om du använder ikonen Procedursteg behandlas varje funktionsanrop i stegningen som ett enskilt programsteg.

### Egenskaper för en brytpunkt

Du kan visa egenskaperna för en brytpunkt genom att högerklicka på den i brytpunktskolumnen.

Du kan aktivera och deaktivera en brytpunkt genom att klicka på Aktiv på snabbmenyn. Om du har deaktiverat en brytpunkt kommer programkörningen inte att avbrytas på brytpunktens plats.

Om du klickar på Egenskaper på snabbmenyn för en brytpunkt, eller klickar på Brytpunkter på brytpunktskolumnens snabbmeny, öppnas dialogrutan Brytpunkter där du kan ange övriga alternativ för brytpunkter.

I listan visas alla brytpunkter med motsvarande radnummer i källkoden. Du kan aktivera eller inaktivera en markerad brytpunkt genom att markera eller avmarkera kryssrutan Aktiv.

Värdet Genomflöde anger hur många gånger brytpunkten ska passeras innan exekveringen avbryts på brytpunktens rad. Om du anger 0 (standardinställningen) avbryts programmet alltid när en brytpunkt nås.

Om du vill ta bort brytpunkten helt från programmet klickar du på Radera.

## Granska en variabels värde

Du kan granska variabelvärden genom att lägga till den i fönstret Bevakare. Om du vill lägga till en variabel i listan över bevakade variabler skriver du variabelns namn i textrutan Bevakare och trycker på Retur.

Värdet för en variabel visas endast om programkörningen är inom variabelns definitionsområde ("scope"). För variabler som inte är definierade på programkörningens position visas "Out of Scope" i stället för ett värde.

Du kan också visa matriser i fönstret Bevakare. Om du anger namnet på en matris utan ett indexvärde i textrutan Bevakare, visas hela matrisens innehåll.

Om du för muspekaren över en fördefinierad variabel i redigeringsfönstret när du stegar programmet, visas variabelns innehåll i en popup-ruta.

## Använda fönstret Anropsstack

Visar en översikt över procedur- och funktionsanrop. Du kan kontrollera vilka procedurer och funktioner som anropats på ett visst ställe i källkoden.

## Lista över runtime-fel

1 Ett undantag (exception) har uppstått

2 Syntaxfel

3 Return utan Gosub

4 Felaktig inmatning; försök igen

5 Felaktigt proceduranrop

6 Spill

7 Inte tillräckligt minne

8 Array redan dimensionerad

9 Index utanför angivet spann

10 Dubblettdefinition

11 Division med noll

12 Odefinierad variabel

13 Ej matchande datatyp

14 Ogiltig parameter

18 Process avbruten av användare

20 Återuppta utan felmeddelande

28 Inte tillräckligt med stackminne

35 Sub- eller funktionsprocedur ej definierad

48 Fel vid inläsning av DLL-fil

49 Felaktig konvention för DLL-anrop

51 Internt fel

52 Ogiltigt filnamn eller filnummer

53 Filen hittas inte

54 Felaktiga filrättigheter

55 Fil redan öppen

57 Enhets-I/O-fel

58 Filen finns redan

59 Fel postlängd

61 Disken eller hårddisken är full

62 Läsning efter filslutet (EOF)

63 Fel postnummer

67 För många filer

68 Enheten är inte tillgänglig

70 Åtkomst nekad

71 Disken är inte klar

73 Inte implementerad

74 Det går inte att döpa om filen på andra enheter

75 Åtkomstfel till sökväg/fil

76 Det går inte att hitta sökvägen

91 Objektvariabeln är inte angiven

93 Ogiltigt strängmönster

94 Det är inte tillåtet att använda noll

250 DDE-fel

280 Avvaktar svar i DDE-anslutning

281 Inga DDE-kanaler är tillgängliga

282 Inget program svarade på initieringen av DDE-anslutningen

283 För många program svarade på initieringen av DDE-anslutningen

284 DDE-kanalen är låst

285 Ett externt program kan inte köra en DDE-åtgärd

286 Timeout vid väntan på DDE-svar

287 Användaren tryckte på ESCAPE under DDE-operationen

288 Det externa programmet är upptaget

289 DDE-åtgärd utan data

290 Data är i fel format

291 Det externa programmet har avbrutits

292 DDE-anslutningen har avbrutits eller ändrats

293 DDE-metoden anropades utan öppen kanal

294 Ogiltigt DDE-länkformat

295 DDE-meddelandet har försvunnit

296 Länken har redan klistrats in

297 Länkläget kan inte anges eftersom länkavsnittet är ogiltigt

298 Filen DDEML.DLL måste användas för DDE

323 Det går inte att ladda modulen på grund av ogiltigt format

341 Ogiltigt objektindex

366 Objektet är inte tillgängligt

380 Fel egenskapsvärde

382 Den här egenskapen är skrivskyddad

394 Den här egenskapen kan bara sparas

420 Ogiltig objektreferens

423 Det går inte att hitta egenskapen eller metoden

424 Objekt krävs

425 Objektet används på ett ogiltigt sätt

430 Det här objektet har inte stöd för OLE Automation

438 Det här objektet har inte stöd för denna egenskap eller metod

440 OLE automation-fel

445 Angivet objekt har inte stöd för den här åtgärden

446 Angivet objekt har inte stöd för namngivna argument

447 Angivet objekt har inte stöd för den aktuella språkinställningen

448 Det går inte att hitta namngivet argument

449 Argumentet är inte valfritt

450 Ogiltigt antal argument

451 Objektet är inte en lista

452 Ogiltigt ordningstal

453 Det går inte att hitta angiven DLL-funktion

460 Ogiltigt Urklipp-format

951 Oväntad symbol:

952 Förväntad:

953 En symbol förväntas

954 En variabel förväntas

955 En etikett förväntas

956 Värdet kan inte användas

957 Variabeln är redan definierad

958 Underproceduren eller funktionsproceduren är redan definierad

959 Etiketten är redan definierad

960 Det går inte att hitta variabeln

961 Det går inte att hitta matrisen eller proceduren

962 Det går inte att hitta proceduren

963 Etiketten är inte definierad

964 Datatypen är okänd

965 Exit är förväntat

966 Satsblocket är fortfarande öppet: saknas

967 Parenteserna matchar inte

968 Symbolen är redan definierad på ett annat sätt

969 Parametrarna passar inte för proceduren

970 Ogiltigt tecken i ett tal

971 Matrisen måste dimensioneras

972 Else/Endif utan If

973 tillåts inte i en procedur

974 tillåts inte utanför en procedur

975 Dimensionens specifikationer matchar inte

976 Okänt alternativ:

977 Konstanten har definierats om

978 Programmet är för stort

979 Strängarna eller matriserna tillåts inte

1000 Objektet har inte den här egenskapen

1001 Objektet har inte den här metoden

1002 Det saknas obligatoriska argument

1003 Ogiltigt antal argument

1004 Ett fel uppstod när en metod kördes

1005 Det går inte att ange en egenskap

1006 Det går inte att fastställa en egenskap