Debugging a Basic Program

Breakpoints and Single Step Execution

You can check each line in your Basic program for errors using single step execution. Errors are easily traced since you can immediately see the result of each step. A pointer in the breakpoint column of the Editor indicates the current line. You can also set a breakpoint if you want to force the program to be interrupted at a specific position.

Double-click in the breakpoint column at the left of the Editor window to toggle a breakpoint at the corresponding line. When the program reaches a breakpoint, the program execution is interrupted.

The single step execution using the Single Step icon causes the program to branch into procedures and functions.

The procedure step execution using the Procedure Step icon causes the program to skip over procedures and functions as a single step.

Properties of a Breakpoint

The properties of a breakpoint are available through its context menu by right-clicking the breakpoint in the breakpoint column.

You can activate and deactivate a breakpoint by selecting Active from its context menu. When a breakpoint is deactivated, it does not interrupt the program execution.

Select Properties from the context menu of a breakpoint or select Breakpoints from the context menu of the breakpoint column to call the Breakpoints dialog where you can specify other breakpoint options.

The list displays all breakpoints with the corresponding line number in the source code. You can activate or deactivate a selected breakpoint by checking or clearing the Active box.

The Pass Count specifies the number of times the breakpoint can be passed over before the program is interrupted. If you enter 0 (default setting) the program is always interrupted as soon as a breakpoint is encountered.

Click Delete to remove the breakpoint from the program.

Observing the Value of Variables

You can monitor the values of a variable by adding it to the Watch window. To add a variable to the list of watched variables, type the variable name in the Watch text box and press Enter.

The values of variables are only displayed if they are in scope. Variables that are not defined at the current source code location display ("Out of Scope") instead of a value.

You can also include arrays in the Watch window. If you enter the name of an array variable without an index value in the Watch text box, the content of the entire array is displayed.

Tip Icon

If you rest the mouse over a predefined variable in the Editor at run-time, the content of the variable is displayed in a pop-up box.


The Call Stack Window

Provides an overview of the call hierarchy of procedures and functions. You can determine which procedures and functions called which other procedures and functions at the current point in the source code.

List of Run-Time Errors

1 atsirado išimtis

2 Sintaksės klaida

3 Grąžinti be „gosub“

4 neteisingas įrašas, pabandykite dar kartą

5 Neteisingas procedūros iškvietimas

6 Perpildymas

7 nepakanka atminties

8 Masyvo dydis jau nurodytas

9 Rodyklė užeina už apibrėžtų ribų

10 apibrėžimo duplikatas

11 dalyba iš nulio

12 kintamasis nėra apibrėžtas

13 Nesuderintas duomenų tipas

14 Neteisingas parametras

18 Procesas nutrauktas naudotojo

20 Operatorius „resume“ neapdoroja klaidos

28 Neužtenka dėklo atminties

35 antrinė procedūra arba funkcijos procedūra nėra apibrėžta

48 klaida įkeliant DLL failą

49 Neteisinga DLL iškvietos tvarka

51 vidinė klaida

52 neteisingas failo pavadinimas arba failo numeris

53 failas nerastas

54 neteisingas failo modelis

55 Failas jau yra atvertas

57 Įrenginio I/O klaida

58 failas jau egzistuoja

59 Neteisingas įrašo ilgis

61 Diskas arba standusis diskas yra pilnas

62 Skaitymas viršiją EOF

63 Klaidingas įrašo numeris

67 Per daug failų

68 Prietaisas nėra pasiekiamas

70 Prieiga nesuteikta

71 Diskas nėra parengtas

73 Nėra realizuota

74 Pervadinimas skirtinguose diskuose nėra įmanomas

75 adreso/failo prieigos klaida

75 adresas nerastas

91 objekto kintamasis nėra nustatytas

93 Negaliojanti eilutės seka

94 Naudoti nulį nėra leidžiama

250 DDE klaida

280 laukia atsako DDE ryšiui

281 Nėra pasiekiamų DDE kanalų

282 Jokia programa neatsakė į DDE ryšio paleidimą

283 Per daug programų atsakė į DDE ryšio paleidimą

284 Kanalas užblokuotas

285 Išorinė programa negali vykdy DDE operacijos

286 baigėsi laikas, kol buvo laukiama DDE atsako

287 vartotojas paspaudė grįžimo klavišą per DDE operaciją

288 išorinė programa užimta

289 DDE operacija be duomenų

290 duomenys netinkamame formate

291 Išorinė programa buvo nutraukta

292 DDE ryšys pertrauktas arba modifikuotas

293 DDE metodas iškvietimui be kanalo atvėrimo

294 negaliojantis DDE nuorodos formatas

295 DDE žinutė buvo prarasta

296 Įdėti saitą jau buvo atlikta

297 Nuorodos būsena gali būti nustatyta klaidingai nuorodos temai

298 DDE reikalauja DDEML.DLL failo

323 modulis negali būti įkeltas; negaliojantis formatas

341 negaliojanti objekto rodyklė

366 objektas nėra pasiekiamas

380 netinkama nuosavybės reikšmė

382 ši nuosavybė yra tik skaitymui

394 Ši nuosavybė tik rašymui

420 netinkama objekto nuoroda

423 Nuosayvbė arba metodas nerastas

424 Objektas privalomas

425 Netinkamas objekto panaudojimas

420 OLE automatizavimas nėra palaikomas šio objekto

438 Ši nuosavybė arba metodas nėra palaikomi objekto

440 OLE automatizavimo klaida

445 Šis veiksmas nėra palaikomas duoto objekto

446 Pavadinti argumentai nėra palaikomi duotojo objekto

447 Dabartinės lokalės nuostatos nėra palaikomos duotojo objekto

448 Įvardytas argumentas nerastas

449 Argumentas yra nebūtinas

450 Negaliojantis argumentų skaičius

451 Objektas nėra sąrašas

452 Negaliojantis eilės numeris

453 Nurodyta DLL funkcija nerasta

460 Netinkamas iškarpinės formatas

951 netikėtas simbolis:

952 Tikėtasi:

953 Simbolio buvo tikėtasi

954 kintamojo tikimasi

955 Etiketės tikimasi

956 reikšmė negali būti pritaikyta

957 kintamasis apibrėžtas

958 Procedūra arba funkcijos procedūra jau yra apibrėžta

959 Žymė jau yra apibrėžta

960 kintamasis nerastas

961 Masyvas arba procedūra nerasta

962 Procedūra nerasta

963 Žymė neapibrėžta

964 Nežinomas duomenų tipas

965 Išėjimo tikimasi

966 Teiginio blokas vis dar atvertas: trūkstama

967 Skliaustai neatitinka

968 Simbolis yra apibrėžtas skirtingai

969 Parametras neatsako procedūrai

970 Negaliojantis rašmuo skaičiuje

971 Masyvas turi turėti matmenis

972 „Else arba Endif“ be „If“

973 neleistina procedūroje

974 neleistina procedūros išorėje

975 Matavimo specifikacijos neatitinka

976 Nežinoma parinktis:

977 Konstanta iš naujo apibrėžta

978 Programa per didelė

979 Eilutės arba masyvai nėra leistini

1000 Objektas neturi šios nuosavybės

1001 Objektas neturi šio metodo

1002 Trūksta privalomų argumentų

1003 Negaliojantis argumentų skaičius

1004 Klaida vykdant metodą

1005 Negalima nustatyti nuosavybės

1006 Negalima apibrėžti nuosavybės

Paremkite mus!