Contents
Index 🔎︎

# 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.

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

18 User interrupt occurred

2 Unspecified syntax error

3 Return without Gosub

14 Invalid parameter

5 Invalid procedure call

6 Overflow

7 Out of memory

8 Array already dimensioned

9 Subscript out of range

10 Duplicate definition

11 Division by zero

12 Variable undefined

13 Type mismatch

14 Invalid parameter

18 User interrupt occurred

20 Resume without error

28 Out of stack space

35 Sub or Function not defined

48 Error in loading DLL

49 Bad DLL calling convention

51 Internal error

52 Bad file name or number

53 File not found

54 Bad file mode

55 File already open

57 Device I/O error

58 File already exists

59 Bad record length

61 Disk full

67 Too many files

63 Bad record number

67 Too many files

68 Device not available

70 Permission denied

71 Disk not ready

73 Feature not implemented

74 No rename with different drive

75 Path/file access error

76 Path not found

91 Object variable not set

93 Invalid pattern string

4 Redo from start

57 Device I/O error

20 Resume without error

68 Device not available

10 Duplicate definition

425 Invalid use of object

28 Out of stack space

451 Object not a collection

28 Out of stack space

8 Array already dimensioned

51 Internal error

3 Return without Gosub

10 Duplicate definition

93 Invalid pattern string

18 User interrupt occurred

423 Property or method not found

460 Invalid clipboard format

55 File already open

76 Path not found

71 Disk not ready

424 Object required

323 Can't load module

341 Invalid object index

68 Device not available

380 Bad property value

382 Property is read only

394 Property is write only

420 Invalid object reference

423 Property or method not found

424 Object required

425 Invalid use of object

440 OLE automation error

423 Property or method not found

440 OLE automation error

445 Object doesn't support this action

448 Named argument not found

445 Object doesn't support this action

448 Named argument not found

449 Argument not optional

450 Wrong number of arguments

451 Object not a collection

452 Invalid ordinal

453 Specified DLL function not found

460 Invalid clipboard format

51 Internal error

424 Object required

53 File not found

12 Variable undefined

55 File already open

53 File not found

55 File already open

35 Sub or Function not defined

55 File already open

53 File not found

76 Path not found

76 Path not found

12 Variable undefined

6 Overflow

53 File not found

62 Input past end of file

76 Path not found

8 Array already dimensioned

76 Path not found

93 Invalid pattern string

8 Array already dimensioned

20 Resume without error

973 not allowed within a procedure

974 not allowed outside a procedure

53 File not found

76 Path not found

67 Too many files

76 Path not found

71 Disk not ready

91 Object variable not set

438 Object doesn't support method

10 Duplicate definition

450 Wrong number of arguments

48 Error in loading DLL

51 Internal error

12 Variable undefined