Difference between revisions of "IDE Window: Breakpoints"

From Free Pascal wiki
Jump to navigationJump to search
Line 35: Line 35:
 
== Interface ==
 
== Interface ==
  
<u>Context menu</u>
 
<center>[[Image:Breakpoint_list_popmenu.png]]</center>
 
  
Show
+
<u>Toolbar</u>
 +
;[[File:debugger enable.png]] Enable/[[File:debugger_disable.png]] Disable: Enables/Disables individual breakpoint(s).
 +
;[[File:laz delete.png]] Remove: Deletes the selected Breakpoint(s)
 +
;[[File:debugger_enable_all.png]] Enable all/[[File:debugger_disable_all.png]] Disable all: Enables/Disables all breakpoints.
 +
;[[File:menu_clean.png]] Delete all: Deletes all Breakpoints
 +
;[[File:menu_environment_options.png]] Properties: Change the properties of the current/selected breakpoint.
  
Add
+
<u>Context menu</u>
 
+
[[Image:Breakpoint_list_popmenu.png|right]]
Source Breakpoint
 
Address Breakpoint
 
Data Breakpoint
 
 
 
 
 
 
 
Enable/Disable
 
 
 
Delete
 
 
 
Enable all
 
 
 
Disable all
 
 
 
Delete all
 
 
 
Enable all in same source
 
  
Disable all in same source
+
;View Source: Jump to the source. (Only Source-Breakpoints)
 +
;Add: Opens a property dialog for the requested type of breakpoint. The location/address/variable can be set in the property dialog.
 +
;Enabled: Toggle the enabled state for individual breakpoint(s)
 +
;Delete: Deletes the selected Breakpoint(s)
 +
;Group: Clears or sets the group for the breakpoint. A list of existing groups will be in the menu. With "Set new group" a new group can be created.
 +
;Enable all/Disable all: Enables/Disables all breakpoints.
 +
;Delete all: Deletes all Breakpoints
 +
;Disable all in same source/Enable all in same source: Enables/Disables all breakpoints in the same unit as the current selected breakpoint. (Only Source-Breakpoints)
 +
;Delete all in same source: Deletes all Breakpoints in the same unit as the current selected breakpoint. (Only Source-Breakpoints)
  
Delete all in same source
+
<br style="clear:both" />
  
 
= Breakpoint properties =
 
= Breakpoint properties =
  
 
[[File:BreakPoint_Properties.png]]
 
[[File:BreakPoint_Properties.png]]

Revision as of 19:57, 30 May 2012

Deutsch (de) English (en) français (fr) русский (ru)

Important

You must setup the debugger and start the project to debug it. Only then this window will be useful.

Breakpoint list

Breakpoint list.png


There are 3 kind of breakpoints:

Source Breakpoint
Specified by Unit-name and Line-number. The execution will be interrupted before the pascal statement on the specified line is executed. Can be set by clicking the gutter in the source-editor.
Address Breakpoint
Specified by an address. The execution will be interrupted before the assembler statement at the address is executed. Can be set by clicking the gutter in disassembler window.
Data/Watch Breakpoint
Specified by the name of a variable. The execution will be interrupted when the variable is changed. It can also detect read access. Support for this depends on the platform used.

Data displayed

State
A breakpoint can be enabled or disabled. If it is enabled, then each time the program reaches the breakpoint, the condition is checked and if results true, the action(s) set for the breakpoint will be performed.
Filename/Address
Line/Length: Depending on the type of the breakpoint the following is displayed:
  • Source Breakpoint:
    Filename/Address: The name of the file where the breakpoint is set.
    Line/Length: The line-number where the breakpoint is set.
  • Address Breakpoint:
    Filename/Address The address of the breakpoint. This type of breakpoint is useful if there is no source available.
    Line/Length: This is empty
  • Data Breakpoint:
    Filename/Address: The name of the variable.
    Line/Length: Will show the scope ("Global" / "Declaration") and the mode ("Read" / "Write" / "Read/Write")
Condition
Normally a reached breakpoint performs the break action(s). When a condition is defined, this condition is evaluated. If this condition evaluates to True, the break action(s) are performed.
Action
The following actions are available: Break, Enable/Disable group(s), Log message, Evaluate expression, Ignore/Handle Exceptions. A complete description of these actions can be found on the Breakpoint properties page.
Pass Count
How many times the enabled breakpoint has been reached. If a "Hitcount" is defined for this breakpoint, the debugger will perform the break action(s) when the hitcount is reached.
Group
The group where this breakpoint belongs to. This allows to quickly enabled/disable several breakpoints at once.

Interface

Toolbar

debugger enable.png Enable/debugger disable.png Disable
Enables/Disables individual breakpoint(s).
laz delete.png Remove
Deletes the selected Breakpoint(s)
debugger enable all.png Enable all/debugger disable all.png Disable all
Enables/Disables all breakpoints.
menu clean.png Delete all
Deletes all Breakpoints
menu environment options.png Properties
Change the properties of the current/selected breakpoint.

Context menu

Breakpoint list popmenu.png
View Source
Jump to the source. (Only Source-Breakpoints)
Add
Opens a property dialog for the requested type of breakpoint. The location/address/variable can be set in the property dialog.
Enabled
Toggle the enabled state for individual breakpoint(s)
Delete
Deletes the selected Breakpoint(s)
Group
Clears or sets the group for the breakpoint. A list of existing groups will be in the menu. With "Set new group" a new group can be created.
Enable all/Disable all
Enables/Disables all breakpoints.
Delete all
Deletes all Breakpoints
Disable all in same source/Enable all in same source
Enables/Disables all breakpoints in the same unit as the current selected breakpoint. (Only Source-Breakpoints)
Delete all in same source
Deletes all Breakpoints in the same unit as the current selected breakpoint. (Only Source-Breakpoints)


Breakpoint properties

BreakPoint Properties.png