Author:halw

Date:2009-01-14T05:38:12.000000Z


git-svn-id: https://svn.eiffel.com/eiffel-org/trunk@162 abb3cda0-5349-4a8f-a601-0c33ac3a8c38
This commit is contained in:
halw
2009-01-14 05:38:12 +00:00
parent 8defe4bb0c
commit 7c808cf461
27 changed files with 169 additions and 124 deletions

View File

@@ -1,11 +1,11 @@
[[Property:title|Breakpoint commands]]
[[Property:weight|2]]
[[Property:uuid|3631e866-0acd-005d-b1f5-f43377b6e27f]]
Located in the '''debug''' menu and the '''project''' toolbar, these three commands allow to change the state of set [[Breakpoints: Introduction|breakpoints]] in the system.
Located in the '''debug''' menu and the '''project''' toolbar, three commands allow you to change the state of set [[Breakpoints|breakpoints]] in the system.
Enable breakpoints ( [[Image:16x16--breakpoints-enable-icon]] ), disable breakpoints ( [[Image:16x16--breakpoints-disable-icon]] ) and remove breakpoints ( [[Image:breakpoints-delete-icon]] ) have all global and local actions. Left-clicking on them has a global action: all set breakpoints of the system will be respectively enabled, disabled, or discarded. However, it is also possible to [[Pick-and-drop mechanism|drop]] a feature or a class onto them, in which case only set breakpoints of the feature/class will be affected.
Enable breakpoints ( [[Image:16x16--breakpoints-enable-icon]] ), disable breakpoints ( [[Image:16x16--breakpoints-disable-icon]] ) and remove breakpoints ( [[Image:breakpoints-delete-icon]] ) all have global and local actions. Left-clicking on them has a global action: all breakpoints currently set in the system will be respectively enabled, disabled, or discarded. However, it is also possible to [[Pick-and-drop mechanism|drop]] a feature or a class onto them, in which case only set breakpoints of the feature/class will be affected.
Note that these commands work only on set breakpoints (that is, enabled or disabled breakpoints). Therefore, discarded breakpoints cannot be set again thanks to these commands.
Note that these commands work only on set breakpoints (that is, enabled or disabled breakpoints). Therefore, discarded breakpoints cannot be set again with these commands.

View File

@@ -1,39 +1,39 @@
[[Property:title|Breakpoint editing]]
[[Property:weight|1]]
[[Property:uuid|1ac830ab-7600-8e52-2351-c515bcc31d41]]
In all flat views ( [[Feature formatters: Flat view|feature flat view]] and [[Class formatters: Flat view|class flat view]] ), a margin is displayed on the left of the editor. [[Breakpoints: Introduction|Breakpoints]] are there symbolized as circles, of a different appearance depending on their state: enabled ( [[Image:bp-enabled-icon]] ), disabled ( [[Image:bp-disabled-icon]] ) or not set ( [[Image:bp-slot-icon]] ). A small question mark in the circle ( [[Image:bp-enabled-conditional-icon]] , [[Image:bp-disabled-conditional-icon]] )indicates [[Breakpoint menu|conditional breakpoints]] .
In all flat views ( [[Feature formatters: Flat view|feature flat view]] and [[Class formatters: Flat view|class flat view]] ), a margin is displayed on the left of the editor. [[Breakpoints|Breakpoints]] are symbolized there as circles, with different looks depending on their state: enabled ( [[Image:bp-enabled-icon]] ), disabled ( [[Image:bp-disabled-icon]] ) or not set ( [[Image:bp-slot-icon]] ). A small question mark in the circle ( [[Image:bp-enabled-conditional-icon]] , [[Image:bp-disabled-conditional-icon]] ) indicates [[Breakpoint menu|conditional breakpoints]] .
Right-clicking on any breakpoint pops up a context menu:
<center> [[Image:breakpoint-context-menu]] </center>
[[Image:breakpoint-context-menu]]
The first line provides the breakpoint slot index of the selected breakpoint(i.e: the one used in call stack or exception trace output). <br/>
Clicking one of the three first entries of the context menu changes the state of the breakpoint that was right-clicked. The last entry ( '''Run to breakpoint''') launches the debugged application so that it will stop as soon as the selected breakpoint is encountered, as if the breakpoint had been enabled. <br/>
The first line provides the breakpoint slot index of the selected breakpoint (i.e: the one used in call stack or exception trace output). <br/>
Clicking one of the three first entries of the context menu changes the state of the breakpoint that was right-clicked. The last entry ('''Run to This Point''') launches the debugged application so that it will stop as soon as the selected breakpoint is encountered, as if the breakpoint had been enabled. <br/>
"Edit This Breakpoint" allows the user to edit the parameters of the breakpoint (condition, hit count, when hits actions...) thanks to the breakpoint dialog. This dialog provides on hte first tab "Context": access to the associated tags, condition, and hit count control. And on the second tab, it allows to associate "When hits..." action(s) to the breakpoint.
<center>
"Edit This Breakpoint" allows you to edit the parameters of the breakpoint (condition, hit count, when hits actions...) through the breakpoint dialog. On the first tab, '''Context''', the breakpoint dialog provides access to the associated tags, condition, and hit count control. And on the second tab, it allows you to associate '''When hits...''' action(s) with the breakpoint.
{|
|-
|
Context's tab
[[Image:breakpoint-dialog-context|Context's tab]]
'''Context''' tab
[[Image:breakpoint-dialog-context|Context tab]]
|
When hits action 's tab
[[Image:breakpoint-dialog-when-hits-action|When hits... 's tab]]
'''When hits ...''' action tab
[[Image:breakpoint-dialog-when-hits-action|When hits... tab]]
|}
</center>
* The tags allow to identified a collection of breakpoints, either from the [[Breakpoint information command|breakpoints tool]] , or even in the parameters of "When hits .." actions. <br/>
Note that any existing breakpoint can be referenced by an implicit tag with ''"'''bp:'''cluster.{CLASS}.feature@index"'' (cluster is not mandatory).<br/>
{{sample|For instance "'''bp:'''elks.{LINKED_LIST}.extend@2"}}
Tags allow you to identify a collection of breakpoints, either from the [[Breakpoint information command|breakpoints tool]] , or in the parameters of "When hits .." actions. <br/>
Any existing breakpoint can be referenced by an implicit tag with the form: ''"'''bp:'''cluster.{CLASS}.feature@index"'' (cluster is not mandatory).<br/>
* the "Condition" allows the user to set a condition for stopping.
* the "Hit count" allows the user to set a condition on hitcount for stopping.
* And the "When Hits..." allows to associate specific actions to the breakpoint:
{{sample|A sample breakpoint tag: "'''bp:'''elks.{LINKED_LIST}.extend@2"}}
* the "Condition" allows you to set a condition for stopping.
* the "Hit count" allows you to set a condition on hitcount for stopping.
* And the "When Hits..." allows you to associate specific actions with the breakpoint:
** Print message: display the expanded message to the output (there are predefined variables, and you can also evaluate expressions).
** Disable/Restore Assertion Checking: this might be useful to desactivate assertion checking on a specific part of the execution.
** Disable/Restore Assertion Checking: this might be useful to deactivate assertion checking on a specific part of the execution.
** Record Execution: start or stop the execution recording (cf: [[Execution record and replay|Execution recording and replay]] )
** Enable/Disable Breakpoints: either use tags or implicit tags (ex: ''"bp:elks.{LINKED_LIST}.extend@2"''), to reference a set of existing breakpoints. This can be pretty useful to enable a breakpoint only if the execution takes a specific execution path.
** Reset Hits count
@@ -41,17 +41,17 @@ Note that any existing breakpoint can be referenced by an implicit tag with ''"'
"Edit Condition" allows the user to set a condition for stopping, it opens the same dialog as "EditThis Breakpoint", but focus on the "condition" field.
"Edit Condition" allows you to set a condition for stopping, it opens the same dialog as "Edit This Breakpoint", but focus on the "condition" field.
<center> [[Image:breakpoint-dialog-condition]] </center>
[[Image:breakpoint-dialog-condition]]
"Hit count" allows the user to set a condition on hitcount for stopping
"Hit count" allows you to set a condition on hitcount for stopping
<center> [[Image:breakpoint-dialog-hit-count]] </center>
[[Image:breakpoint-dialog-hit-count]]
"When hits ..." allows the user to do an action when we actually stopped on this breakpoint. This can be for instance `print message'.
"When hits ..." allows you to perform an action, print a message for example, when execution stops on this breakpoint.
<center> [[Image:breakpoint-dialog-when-hits]] </center>
[[Image:breakpoint-dialog-when-hits]]
{{seealso| [[Breakpoint commands|Breakpoint commands]], [[Breakpoint information command|Breakpoint information command]] }}

View File

@@ -3,19 +3,22 @@
[[Property:uuid|9fa30dd2-231f-c1f2-4139-f8e90df0e77f]]
The breakpoint information command, located in the '''debug''' menu and in the '''project''' toolbar ( [[Image:tool-breakpoints-icon]] ), displays the list of all set breakpoints in the system (enabled or disabled).
<center>Display all breakpoints in a grid<br/>
[[Image:breakpoints-list]] </center>
Display all breakpoints in a grid:<br/>
[[Image:breakpoints-list]]
Note: the * shows that the breakpoint has a [[Breakpoint menu|condition]] .<br/>
Note: you can edit the selected breakpoint by double clicking on it, or pressing [enter] which show the menu.<br/>
Note: you can disable/enable the selected breakpoint(s) by pressing [space].<br/>
Note: you can sort by clicking the column, especially the first column which provide tree, flat or sorted view.
<center>Display all breakpoints in a list<br/>
[[Image:breakpoints-list-flat]] </center>
Display all breakpoints in a list:<br/>
<center>Display all breakpoints in a list filtered by a tag using button [[Image:breakpoints-list-filter-button]] <br/>
[[Image:breakpoints-list-filter]] </center>
[[Image:breakpoints-list-flat]]
Display all breakpoints in a list filtered by a tag using button [[Image:breakpoints-list-filter-button]] : <br/>
[[Image:breakpoints-list-filter]]
{{seealso|<br/>
[[Breakpoint commands|Breakpoints commands]] <br/>

View File

@@ -1,11 +1,18 @@
[[Property:title|Breakpoints]]
[[Property:weight|-14]]
[[Property:uuid|6ed5890a-9b23-210a-5640-cee348d6e27e]]
* [[Breakpoints: Introduction|Introduction]]
* [[Breakpoint editing|Breakpoint menu]]
* [[Breakpoint commands|Breakpoint commands]] [[Image:16x16--breakpoints-enable-icon]] [[Image:16x16--breakpoints-disable-icon]] [[Image:breakpoints-delete-icon]]
* [[Breakpoint information command|Breakpoint information command]] [[Image:tool-breakpoints-icon]]
* [[Breakpoint menu|Conditional breakpoints]]
Breakpoints are entities that stop a debugged application. Breakpoints can be put at the beginning of each execution line, so that it is possible to see the context in which the line is executed before executing it.
In EiffelStudio, breakpoints are represented as circles in the left margin of flat views (both [[Feature formatters: Flat view|feature flat view]] and [[Class formatters: Flat view|class flat view]] ). Breakpoints can be in three different states: enabled ( [[Image:bp-enabled-icon]] ), disabled ( [[Image:bp-disabled-icon]] ), or not set ( [[Image:bp-slot-icon]] ). Only enabled breakpoints will stop the application when they are encountered. By default, breakpoints are not set. Disabled breakpoints are useful to temporarily discard a breakpoint, while keeping the possibility to put it back quickly. Enabled and disabled breakpoints can have an associated an associated [[Breakpoint menu|condition]] . They are then shown as [[Image:bp-enabled-conditional-icon]] and [[Image:bp-disabled-conditional-icon]] .
Left-clicking on a breakpoint in a flat view changes the state of the breakpoint: it switches from not set to enabled, from enabled to not set, and from disabled to enabled. Removing a conditional breakpoint discards its condition.
The [[Breakpoint editing|breakpoint menu]] lets you change the state of one breakpoint, whereas the [[Breakpoint commands|breakpoint commands]] let you change the state of several breakpoints at a time. The [[Breakpoint information command|breakpoint information command]] shows the state of all set breakpoints.
{{note|Breakpoints cannot be set in all features. In particular, breakpoints cannot be set in external features or attributes. <br/>
However, breakpoints can now be set in assertions (require and ensure). }}
{{tip|Under Windows, breakpoints can be set on-the-fly while the application is running. }}