Difference between revisions of "IDE Window: Breakpoints"

From Free Pascal wiki
Jump to navigationJump to search
Line 2: Line 2:
 
{{IDE Window: Breakpoints}}
 
{{IDE Window: Breakpoints}}
  
== Important ==  
+
= Important =
  
 
You must [[Debugger_Setup |setup the debugger]] and start the project to debug it. Only then this window will be useful.
 
You must [[Debugger_Setup |setup the debugger]] and start the project to debug it. Only then this window will be useful.
  
== Dialog ==
+
= Breakpoint list =
<center>[[Image:Breakpoint_list.png]]</center>
+
[[Image:Breakpoint_list.png]]
=== 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 ===
+
There are 3 kind of breakpoints:
  
Depending on the type of the breakpoint the following is displayed:
+
;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.
;Source Breakpoint
+
;Address Breakpoint: Specified by an address. The execution will be interrupted before the <u>assembler</u> statement at the address is executed. Can be set by clicking the gutter in disassembler window.
:The name of the file where the breakpoint is set.
+
;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.
;Address Breakpoint
 
:(not implemented)
 
:The address of the breakpoint.
 
:This type of breakpoint is usefull if there is no source available.
 
;Data Breakpoint
 
:(not implemented)
 
:The address of the variable (or memory location)
 
  
=== Line/Length ===
+
== Data displayed ==
  
Depending on the type of the breakpoint the following is 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.
;Source Breakpoint
 
:The linenumber where the breakpoint is set.
 
:If you edit the source, this position can change. For example, if you insert a line in front, the breakpoint will move. :But this has no effect the line numbers in the debugging information of the executable. It will still contain the old numbers. So, better stop debugging (i.e. stop the program) before editing.
 
;Address Breakpoint
 
:(not implemented)
 
:(if supported by the choosen debugger) The adress range where the execution stops
 
;Data Breakpoint
 
:(not implemented)
 
:The size of the variable watched
 
  
=== Condition ===
+
;Filename/Address<br>Line/Length: Depending on the type of the breakpoint the following is displayed:
 +
:*<u>Source Breakpoint:</u><br>Filename/Address: The name of the file where the breakpoint is set.<br> Line/Length: The line-number where the breakpoint is set.
 +
:*<u>Address Breakpoint:</u><br>Filename/Address The address of the breakpoint. This type of breakpoint is useful if there is no source available. <br> Line/Length: This is empty
 +
:*<u>Data Breakpoint:</u><br>Filename/Address: The name of the variable. <br> Line/Length: Will show the scope ("Global" / "Declaration") and the mode ("Read" / "Write" / "Read/Write")
  
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.
+
;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 ===
+
;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 [[IDE Window:Breakpoint properties|Breakpoint properties]] page.
  
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 [[IDE Window:Breakpoint properties|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.
Only Break is currently implemented.
 
  
=== Pass Count ===
+
;Group: The group where this breakpoint belongs to. This allows to quickly enabled/disable several breakpoints at once.
  
How many times the enabled breakpoint has been reached. If a passcount is defined for this breakpoint, the debugger will  perform the break action(s) when this count is reached (not implemented yet)
+
== Interface ==
  
=== Group ===
+
<u>Context menu</u>
 
 
(not implemented)
 
The group where this breakpoint belongs to. This allows to quickly enabled/disable several breakpoints at once.
 
 
 
== Context menu ==
 
 
<center>[[Image:Breakpoint_list_popmenu.png]]</center>
 
<center>[[Image:Breakpoint_list_popmenu.png]]</center>
  
Line 67: Line 46:
 
==== Data Breakpoint ====
 
==== Data Breakpoint ====
  
=== Properties ===
+
= Breakpoint properties =
  
 
=== Enable/Disable ===
 
=== Enable/Disable ===

Revision as of 19:18, 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

Context menu

Breakpoint list popmenu.png

Show

Add

Source Breakpoint

Address Breakpoint

Data Breakpoint

Breakpoint properties

Enable/Disable

Delete

Enable all

Disable all

Delete all

Enable all in same source

Disable all in same source

Delete all in same source

Properties

BreakPoint Properties.png