Breakpoint Properties

From RAD Studio
Jump to: navigation, search

Go Up to Debug Windows Index


Breakpoint List | Select a breakpoint and click BreakpointPropertiesSelectedBreakpoint.png
Breakpoint List | Right-click a breakpoint and select Breakpoint Properties

Breakpoint Properties is not a single dialog box. Depending on the type of the selected breakpoint, you can open one of the following dialog boxes:

  • Address Breakpoint Properties if you select an address breakpoint.
  • Data Breakpoint Properties if you select a data breakpoint.
  • Source Breakpoint Properties if you select a source breakpoint.

The commands to open the Address Breakpoint Properties and Data Breakpoint Properties dialog boxes are enabled only when you are running your application in debug mode.

The Breakpoint Properties dialog box lets you modify an existing breakpoint or create a new breakpoint from the data of an existing breakpoint using the following fields:

Item Description

Filename
(for source breakpoint only)

Specifies the source file for the source breakpoint. Enter the name of the source file for the breakpoint.

Line number
(for source breakpoint only)

Sets or changes the line number for the breakpoint. Enter or change the line number for the breakpoint.

Address
(for address or data breakpoint only)

Specifies the address for the address breakpoint. When the address is executed, the program execution halts if the condition (optional) evaluates to true and the pass count (optional) has been completed. If the address can be correlated to a source line number, the address breakpoint is created as a source breakpoint.

Length
(for data breakpoint only)

Specifies the length of the data breakpoint, beginning at "Address". The length is automatically calculated for standard data types.

Condition

Specifies a conditional expression that is evaluated each time the breakpoint is encountered. Program execution stops when the expression evaluates to true. Enter a conditional expression to stop program execution. Enter any valid language expression. All symbols in the expression must be accessible from the breakpoint's location. Functions are valid if they return a Boolean type. For data breakpoints, if no condition is set, the breakpoint is hit when any change is made to the data in the range specified in the Length field.

Thread

Specifies the thread to which the breakpoint is to be applied. When a multithreaded application is running in debug mode, you can select from the current thread numbers (for numbered threads) or thread names (for named threads).

Pass count

Stops program execution at a certain line number after a specified number of passes. Enter the number of passes. The debugger increments the pass count each time the line containing the breakpoint is encountered. When the pass count equals the specified number, the debugger pauses program execution. For example, if the pass count is set to 3, you will see 0 of 3, 1 of 3, 2 of 3, then 3 of 3 in the pass count. Program execution stops at 3 of 3.

Because the debugger increments the count with each pass, you can use the count to determine the iteration of a loop that fails. Set the pass count to the maximum loop count and run your program. When the program fails, you can calculate the number of loop iterations by examining the number of passes that occurred. When you use pass counts with conditions, program execution pauses the nth time that the conditional expression is true. The debugger decrements the pass count only when the conditional expression is true.

Group

Creates a breakpoint group, and makes this breakpoint a member of the group. Using breakpoint groups is useful for performing a similar set of actions on all breakpoints within a group. To create a group, enter a name in this field. To use an existing group, select a group from the drop-down list.

Keep existing Breakpoint

If you check this option, your changes to your breakpoints do not affect the existing breakpoint. Instead, a new breakpoint is created with the properties of the existing breakpoint and any property you modify in the Breakpoint Properties dialog box only affects your new breakpoint.

Advanced

Expands the dialog box to include fields for associating actions with breakpoints.

Item Description

Break

Halts execution; the traditional and default action of a breakpoint.

Ignore subsequent exceptions

Ignores all subsequent exceptions raised by the current process during the current debug session (the debugger will not stop on any exception). Use this with Handle subsequent exceptions as a pair. You can surround specific blocks of code with the Ignore/Handle pair to skip any exceptions which occur in that block of code.

Handle subsequent exceptions

Handles all subsequent exceptions raised by the current process during the current debug session (the debugger will stop on exceptions based on the current exception settings in Tools > Options > Debugger Options > Embarcadero Debuggers > Language Exceptions. This option does stop on all exceptions. Use it to turn on normal exception behavior after another breakpoint disabled normal behavior using the Ignore subsequent exceptions option.

Log message

Writes the specified message to the event log. Enter the message that you want to log.

Eval expression

Evaluates the specified expression and, because Log result is checked by default, writes the result of the evaluation to the event log. Uncheck Log result to evaluate without logging.

Log result

If text is entered in Eval expression, writes the result of the evaluation in the event log. If unchecked, the evaluation is not logged.

Enable group

Enables all breakpoints in the specified group. Select the group name.

Disable group

Disables all breakpoints in the specified group. Select the group name.

Log Call Stack

Displays all or part of the call stack in the Event Log window when a breakpoint is encountered:

  • Entire Stack displays the entire call stack.
  • Partial Stack displays only the number of frames specified in Number of frames.
  • Number of Frames specifies the number of frames to display if Partial Stack is selected.

See Also