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