IDE Menu |  | ToC | DocOverview | CGDoc | RelNotes | FAQ | Index | PermutedIndex
| Allegro CL version 9.0 Object described on page has changed in 9.0. 8.2 version

## Run Menu

The Run Menu displays commands for testing forms and projects and for using tools that affect or report on how a program runs. The commands on the menu are:

- Run Project -- Run the current project by calling the project Init Function. The default project init function creates and displays the main form.

  When you run a project (as opposed to running a single form with Run Form), the windows of the project are created in their own window hierarchy (or hierarchies), completely separate from IDE window hierarchy. This is done so that running the project from the IDE will emulate the eventual standalone application as closely as possible for more complete debugging.

  But this also means that IDE keyboard shortcuts are not available while the running project windows are selected, and the entire running project may get buried behind the IDE, since the whole IDE is always either in front of or in back of the entire running project. You can switch between the running project and the IDE as you would between two applications, by using the Windows Task Bar or the Alt-Tab gesture.

  The behavior is different when running a single form (with the Run Form command). In that case, the running window will be owned by the invisible IDE owner window, and therefore it can be intermingled among the various IDE windows and you can still use IDE keyboard shortcuts and so on. If you run a project when it is already running, the current running instance is first halted (and its windows are closed) and then the project is run again from scratch.

- Run Form -- Run the currently-selected form; that is, create and display the window associated with the currently-selected form.

  When you run a form, the running window for the form is owned by the invisible IDE owner window. Therefore, the running window behaves as if it were part of the IDE. That is, the window may be intermingled among the various IDE windows, and the IDE keyboard shortcuts may still be used. This is done so that the IDE is still conveniently available while quickly testing single forms.

  This behavior is different from the behavior when running the whole project by choosing the Run Project menu command or clicking the Run button on the Toolbar. When a project is run, the project's windows are created in their own hierarchy completely separate from the IDE, so that the running project will emulate the eventual standalone application as nearly as possible for more complete debugging.

  If you run a form which is already running, the current running window is first closed, and then it is created and run again from scratch.

- Stop -- Stops the running form or project and removes the active windows built from forms.

- Interrupt -- Tries to interrupt current computation. It may be what needs to be interrupted prevents the Run menu from displaying. The keyboard equivalent on Windows and Linux is the Pause key. Pressing the keyboard equivalent will usually perform the interrupt.

- Run Project with Runtime Analysis -- Like Run Project, with additional behavior to perform a runtime analysis of the run. This command wraps a call to with-profiling around the running of the project, and will analyze only the process of the running project. When the project run exits (typically by closing the project's main window), it will also automatically display the new analysis in the Runtime Analyzer Results dialog. The Runtime Analyzer is described in runtime-analyzer.htm.

- Trace -- Starts tracing the currently selected symbol.

- Untrace -- Stops tracing of the selected symbol.

- Untrace All -- Stops all tracing.

- Retrace -- This command on the Run menu causes functions that were being traced when Run | Untrace All was chosen to again be traced. Also, if choosing Run | Untrace resulted in nothing being traced, Retrace causes the last object traced to be traced again.

- Trace Status -- Prints information about what is being traced to the status bar.

- Trace Dialog -- Displays the Trace Dialog.

- Set Breakpoint -- : add a breakpoint at the top of the selected function or method, if any, as with the top-level :break command. This is typically used to set up stepping with the Stepper Dialog.

  If the selected object is the name of a generic function, then a pop-up menu will appear asking which method to breakpoint; the special All choice will breakpoint all methods of the generic function.

  If the Stepper Dialog is currently selected, and the Definition Pane has the keyboard focus and is highlighting a selected form, then the breakpoint will be set on the selected form inside the function being stepped through. The selected form is the one under the mouse if any, and otherwise the form at which the stepper is stopped.

- Remove Breakpoint -- : remove the breakpoint at the top of the selected function or method, if any. (Or the breakpoint on the selected form in the Stepper Dialog as with Set Breakpoint above.)

- Remove All Breakpoints -- Remove all currently-defined breakpoints.

- Break Status -- : print a list of the currently breakpointed functions to the listener.

- Stepper Dialog -- : display the Stepper Dialog for stepping incrementally through the source code of compiled application functions and methods, stopping at breakpoints.

- Show Definition in Stepper Dialog -- : displays the source code of the selected function or method in the Stepper Dialog, if it has been compiled for source-level debugging (see The source stepper in debugging.htm). You can then set breakpoints inside the definition, without breakpointing the entrance to and exit from the function as the Set Breakpoint command does.

  In the editor when no text is selected, the definition that will be used will be the one that the text cursor is currently inside, and the stepper dialog will scroll the editor's text cursor position into view. Otherwise if a function object can be derived from the selected object in the selected IDE window, then its definition will be used.

- Runtime Analyzer Control -- Displays a submenu with the following choices:
  - Start/Resume Sampling: if no runtime analysis has been started, start data collection. If an analysis is being run but data collection is suspended (with Suspend Sampling), resume data collection.
  - Suspend Sampling: suspends data collection until Start/Resume Sampling is clicked.
  - Stop: stops data collection. After clicking this command, runtime analysis data is ready for analysis. Starting sampling again will destroy current data.
  - Runtime Analyzer Status: prints information about the runtime analyzer (whether sampling is going on, etc.) to the status bar of the Project Window.

- Runtime Analyzer Control Dialog -- Displays the Runtime Analyzer Control dialog, which provides tools for controlling the runtime analyzer.

- Runtime Analyzer Results Dialog -- Displays the Runtime Analyzer Results dialog, which displays information about runtime analysis data.

- Prioritize IDE Response -- When checked, the IDE is more responsive to user gestures while user code is being evaluated, but responsivess of other applications may be reduced in certain cases, such as glitches in music playback during a dragging operation in the IDE on Windows. See ide:ide-priority for more information.

Copyright (c) 1998-2019, Franz Inc. Oakland, CA., USA. All rights reserved.
The object described on this page has been modified in the 9.0 release; see the Release Notes.
Created 2019.8.20.

|  | ToC | DocOverview | CGDoc | RelNotes | FAQ | Index | PermutedIndex
| Allegro CL version 9.0 Object described on page has changed in 9.0. 8.2 version