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 Escepto okazis

2 Sintaksa eraro

3 Return without Gosub

4 Incorrect entry; please retry

5 Nevalida procedurvoko

6 Overflow

7 Ne sufiĉe da memoro

8 Tabelo jam dimensiigita

9 Indekso ekster difinita amplekso

10 Duplicate definition

11 Divido per nul

12 Variable not defined

13 Datumtipa miskongruo

14 Nevalida parametro

18 Uzanto interrompis procezon

20 Resume without error

28 Ne sufiĉe da memoro

35 Subproceduro aŭ funkcio ne difinita

48 Error loading DLL file

49 Wrong DLL call convention

51 Interna eraro

52 Nevalida dosiera nomo aŭ dosiera numero

53 Dosiero ne trovita

54 Malĝusta dosierreĝimo

55 La dosiero estas jam malfermita

57 Eraro de en/eliga aparato

58 File already exists

59 Malĝusta rikordlongo

61 Disk or hard drive full

62 Reading exceeds EOF

63 Malĝusta rikordnumero

67 Tro da dosieroj

68 Aparato ne disponebla

70 Aliro rifuzita

71 Disko ne preta

73 Ne realigita

74 Ne eblas renomi en malsamaj diskingoj.

75 Atingeraro de vojprefikso/dosiero

76 Path not found

91 Object variable not set

93 Nevalida ĉena motivo

94 Ne eblas uzi nulon

250 DDE-eraro

280 Awaiting response to DDE connection

281 DDE-kanaloj ne disponeblas

282 Neniu aplikaĵo respondis al iniciato de DDE-konekto

283 Tro da aplikaĵoj respondis al iniciato de DDE-konekto

284 DDE-kanalo ŝlosita

285 External application cannot execute DDE operation

286 Timeout while waiting for DDE response

287 user pressed ESCAPE during DDE operation

288 Ekstera aplikaĵo okupata

289 DDE-operacio sen datumoj

290 Datumoj en malĝusta formato

291 External application has been terminated

292 DDE connection interrupted or modified

293 DDE method invoked with no channel open

294 Nevalida DDE-konekta formato

295 DDE message has been lost

296 Paste link already performed

297 Link mode cannot be set due to invalid link topic

298 DDE requires the DDEML.DLL file

323 Module cannot be loaded; invalid format

341 Invalid object index

366 Object is not available

380 Malĝusta valoro de atributo

382 Tiu atributo estas nurlega

394 This property is write-only

420 Invalid object reference

423 Property or method not found

424 Object required

425 Invalid use of an object

430 OLE Automation is not supported by this object

438 This property or method is not supported by the object

440 OLE-aŭtomacia eraro

445 This action is not supported by given object

446 Named arguments are not supported by given object

447 The current locale setting is not supported by the given object

448 Named argument not found

449 Argument is not optional

450 Invalid number of arguments

451 Object is not a list

452 Nevalida vicorda numero

453 Ne trovis la agorditan DLL-funkcion

460 Nevalida tondeja formato

951 Neatendita simbolo:

952 Atendita:

953 Simbolo atendita

954 Variablo atendita

955 Etikedo atendita

956 Ne povas apliki la valoron

957 Variable already defined

958 Subproceduro aŭ funkcio jam agordita

959 Label already defined

960 Variablo ne trovita

961 Tabelo aŭ proceduro ne trovita

962 Proceduro ne trovita

963 Label undefined

964 Unknown data type

965 Atendas eliron

966 Statement block still open: missing

967 Krampoj ne kongruas

968 Symbol already defined differently

969 Parameters do not correspond to procedure

970 Nevalida signo en numero

971 Necesas agordi dimension de la tabelo

972 Alie/SeFino sen Se

973 not allowed within a procedure

974 not allowed outside a procedure

975 Dimensiaj agordoj ne kongruas

976 Nekonata eblo:

977 Constant redefined

978 Programo tro granda

979 Ĉenoj aŭ tabeloj ne permesitaj

1000 Objekto ne havas tiun atributon

1001 Objekto ne havas tiun metodon

1002 Required argument lacking

1003 Invalid number of arguments

1004 Error executing a method

1005 Ne povas agordi la atributon

1006 Unable to determine property