User Tools

Site Tools


logo:commands:debug

Debugging

Track program execution.

Debugging commands are essential to find programming errors. They help with inspecting programs and data, to pause a program, to find out why a program takes too much time, and much more. Logo can pause because of several reasons:

  • The PAUSE command has been executed
  • A runtime error has been hit
  • The PAUSE icon has been clicked, or the F4 key has been pressed

The debugging icons in the Toolbar have the following meaning:

Icon Key Command Explanation
F3 TOPLEVEL Halts a program and returns to toplevel.
F4 PAUSE Pauses a program and enters Pause mode.

BACKTRACE (BT)

Prints a backtrace.

Syntax

BACKTRACE

Description

The BACKTRACE command is only available during a PAUSE. It prints the the current chain of the active procedures, FOR and REPEAT loops, run lists etc. See also CONTINUE.

CONTINUE (CO)

Ends a pause.

Syntax

CONTINUE

Description

CONTINUE ends a pause. A Logo program can pause because is it is stepped (see STEP), because a breakpoint has been hit, or the PAUSE command has been executed, or if Logo has hit a runtime error.

NOTE: The abbreviation CO is usually an abbreviation for the ALL command. Only during a pause, CO is redefined to CONTINUE.

EXECTIME

Outputs the number of microseconds spent inside a procedure.

Syntax

EXECTIME

Description

EXECTIME outputs a timer value in microseconds. This timer is local to a procedure and starts once the procedure is invoked. EXECTIME is handy to measure execution times of a procedure.

Example

TO TESTTIMER
    PR EXECTIME
    WAIT 1234
    PR EXECTIME
END

TESTTIMER

PAUSE

Pauses a procedure.

Syntax

PAUSE

Description

PAUSE temporarily halts the execution of a procedure. PAUSE makes it possible to check variables or change the environment during the execution of a procedure. Using the PAUSE command is equivalent to setting a breakpoint in the editor window. When Logo pauses, the editor windows are set to read-only, because the procedure environment is “frozen”. Command like TO or DEFINE are also disabled when Logo pauses. To resume execution of the procedure, press the GO button or type CO or CONTINUE. To return to toplevel, press the STOP button or type TOPLEVEL. PAUSE may only be used within a procedure.

Example

TO SQUAREDRAW
    FORWARD 60
    RT 90
    PAUSE
    REPEAT 3 [FD 60 RT 90]
END

SQUAREDRAW
logo/commands/debug.txt · Last modified: 2019/01/22 06:09 (external edit)