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.
Својства за преломна точка
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.
Набљудувајќи ја вредноста од променливи
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