Author:halw

Date:2009-01-20T18:56:06.000000Z


git-svn-id: https://svn.eiffel.com/eiffel-org/trunk@166 abb3cda0-5349-4a8f-a601-0c33ac3a8c38
This commit is contained in:
halw
2009-01-20 18:56:06 +00:00
parent f1b862eaad
commit 7e389c6bc5
9 changed files with 18 additions and 14 deletions

View File

@@ -12,7 +12,7 @@ You can also query features dynamically by using the evaluation tool, which can
{{seealso|<br/>
[[Interrupting an application|Pausing an application]] <br/>
[[Call stack tool]] <br/>
[[Objects tool: Introduction|Object tool]] <br/>
[[Object tool]] <br/>
[[Expression evaluation: Introduction|Evaluation tool]] }}

View File

@@ -5,7 +5,7 @@ In addition to the [[Call stack tool: Interface|call stack tool]] that provides
In debug mode, the context tool is automatically switched to the feature tab in flat view, and displays the feature which corresponds to the current call stack element. In the left margin, a yellow arrow ( [[Image:bp-current-line-icon]] ) marks the execution line where the program is currently stopped, whereas a green arrow ( [[Image:bp-slot-other-frame-icon]] ) indicates the execution line that was attained in the feature in the current call stack element. Therefore, if a feature is recursive, and appears several times in the call stack, changing the current call stack element may cause green arrows to be displayed at different places in the same feature (if the different calls did not reach the same execution point). On the other hand, the yellow arrow can only appear at one place as long as the application is not started again.
The left part of the [[Objects tool: Introduction|object tool]] gives valuable information concerning parameters that were passed to the feature corresponding to the current call stack, the current value of the local variables, and, if the feature is a function, the current value of its result.
The left part of the [[Object tool|object tool]] gives valuable information concerning parameters that were passed to the feature corresponding to the current call stack, the current value of the local variables, and, if the feature is a function, the current value of its result.

View File

@@ -3,7 +3,7 @@
[[Property:uuid|846b52cb-6654-23be-3576-cc175a6fbf04]]
This command stops the execution of a running debugged application.
This gives access to dynamic information concerning the application, such as the current [[Call stack tool|call stack]] and the [[Objects tool: Introduction|state of objects]] in the system.
This gives access to dynamic information concerning the application, such as the current [[Call stack tool|call stack]] and the [[Object tool|state of objects]] in the system.
It is accessible through the '''project''' toolbar ( [[Image:debug-pause-icon]] ) or through the '''debug''' menu.

View File

@@ -1,7 +1,7 @@
[[Property:title|Debugger]]
[[Property:weight|-8]]
[[Property:uuid|31c4857e-f19e-e9e3-b7db-d6c30515277f]]
A debugger is a tool that allows you to [[Execution commands|run]] an application and view its state at any moment. This includes having information concerning the current [[Call stack tool|call stack]] and the [[Objects tool: Introduction|state of objects]] of the system, i.e. the values of their attributes. This kind of information can be used to spot objects that have invalid states, to see the consequences of the execution of a feature over an object state, and so on.
A debugger is a tool that allows you to [[Execution commands|run]] an application and view its state at any moment. This includes having information concerning the current [[Call stack tool|call stack]] and the [[Object tool|state of objects]] of the system, i.e. the values of their attributes. This kind of information can be used to spot objects that have invalid states, to see the consequences of the execution of a feature over an object state, and so on.
The features of the EiffelStudio debugger include:
* Stopping the application in frozen features as well as in melted features

View File

@@ -1,7 +1,7 @@
[[Property:title|Attribute symbols]]
[[Property:weight|1]]
[[Property:uuid|6dfbde5d-3423-4f10-6569-30af2ba00dd1]]
In both trees of the [[Objects tool: Introduction|object tool]] , objects are displayed. Two categories are made for each objects: its attributes (grouped under the `attributes' folder [[Image:feature-attribute-icon]] ) and its once routines (grouped under the `once routines' folder [[Image:feature-once-icon]] ).
In both trees of the [[Object tool|object tool]] , objects are displayed. Two categories are made for each objects: its attributes (grouped under the `attributes' folder [[Image:feature-attribute-icon]] ) and its once routines (grouped under the `once routines' folder [[Image:feature-once-icon]] ).
All follow the following symbol scheme to describe the kind of each item:
* [[Image:debugger-object-immediate-icon]] An attribute of a basic type, such as <eiffel>[/libraries/base/reference/kernel/integer_chart.xml| INTEGER ]</eiffel>, <eiffel>[/libraries/base/reference/kernel/classic/double_chart.xml| DOUBLE ]</eiffel>,...

View File

@@ -1,7 +1,7 @@
[[Property:title|Debug output]]
[[Property:weight|2]]
[[Property:uuid|41544c3b-e1f1-53a5-ff63-e63224c32fa3]]
In both grids of the [[Objects tool: Introduction|object tool]] , objects are displayed. For virtually all objects, it is possible to display a user-definable string value next to the object address.
In both grids of the [[Object tool|object tool]], objects are displayed. For virtually all objects, it is possible to display a user-definable string value next to the object address.
To do so, inherit from the class <eiffel>DEBUG_OUTPUT</eiffel> in the classes that should let their objects display a string value, and implement the `debug_output' feature. At run-time, the debugger will automatically query the result of this feature on all objects that define it and display it in the object tool and the [[Expression evaluation|evaluation tool]] .

View File

@@ -5,16 +5,18 @@
The object tool is a debugging tool that displays extended dynamic information concerning one or several objects while debugging an application. This information includes the value of all their attributes, as well as the values of the once functions that have already been called.
By default it is composed of one grid, which gives information about the [[Call stack tool|current stack element]] . Namely, it provides the Current object value, the arguments' value of corresponding feature, the value of the local variables, as well as the value of the Result (if this feature is a function).
By default it is composed of one grid, which gives information about the [[Call stack tool|current stack element]]. Namely, it provides the Current object value, the arguments' values of the current stack element's feature call, the values of the local variables, as well as the value of the Result (if this feature is a function).
When an exception occurs (for instance, an assertion violation), the objects tool will also display the exception information:
<center> [[Image:objects-tool-exception]] </center>
[[Image:objects-tool-exception]]
'''Specific case for .NET system :''' when the system is stopped, the first item of the local view displays the module name for the feature where we are stopped.
All objects can be expanded to see the value of their attributes. They are also pickable, so that it is possible to drop them onto the '''objects tool''' , an [[Expression evaluation|expression evaluator tool]] (alias Watch tools), or an editor. <br/>
It is also possible to use the [[Set slice size command|set slice size command]] with [[ref:/libraries/base/reference/special_chart]] objects or [[ref:/libraries/base/reference/native_array_chart]] (dotnet) objects.
All objects can be expanded to see the value of their attributes. They are also pickable, so that it is possible to drop them onto the '''objects tool''', an [[Expression evaluation|expression evaluator tool]] (alias Watch tools), or an editor. <br/>
It is also possible to use the [[Set slice size command|set slice size command]] with [[ref:/libraries/base/reference/special_chart|SPECIAL]] objects or [[ref:/libraries/base/reference/native_array_chart|NATIVE_ARRAY]] (.NET) objects.
@@ -28,7 +30,9 @@ It is also possible to use the [[Set slice size command|set slice size command]]
'''Tips:'''<br/>
The tool's layout can be customized to have 2 side-by-side "left" and "right" grids holding the various information. This can be done using the button ( [[Image:toolbar-dropdown-icon]] ) from the tool bar which open the objects tool menu and then select "Edit Layout".
<center> [[Image:object-tool-layout-editor]] </center>
[[Image:object-tool-layout-editor]]
{{note| By default, the object tool displays the full generating type for object, but this can be changed for speed concern in the [[Debugging preferences|preferences]] . The same way, through the [[Debugging preferences|preferences]] , the user can enable or disable the evaluation of the [[Debug output|Debug Output]] feature .}}

View File

@@ -1,9 +1,9 @@
[[Property:title|Remove object command]]
[[Property:weight|5]]
[[Property:uuid|42b5ea32-ef9c-207f-7dbe-c871a4515db3]]
Located in the [[Objects tool: Introduction|object tool]] toolbar, this command [[Image:general-delete-icon]] discards an object from the [[Objects tool: Introduction|object tools]] . All top-level objects can be removed, except the first one, which is the object relative to the [[Call stack tool|current call stack element]] .
Located in the [[Object tool|object tool]] toolbar, this command [[Image:general-delete-icon]] discards an object from the [[Object tool|object tool]]. All top-level objects can be removed, except the first one, which is the object relative to the [[Call stack tool|current call stack element]] .
Left-clicking on this button removes the selected object from the [[Objects tool: Introduction|object tools]] , if possible. It is also possible to [[Pick-and-drop mechanism|drop]] an object onto the button to remove the object.
Left-clicking on this button removes the selected object from the [[Object tool|object tool]], if possible. It is also possible to [[Pick-and-drop mechanism|drop]] an object onto the button to remove the object.

View File

@@ -2,7 +2,7 @@
[[Property:weight|3]]
[[Property:uuid|ce2469a3-cf00-554e-47bd-5e8b2fdbc783]]
Located in the object tool toolbar, this command [[Image:debugger-set-sizes-icon]] changes the display size of special objects (i.e. objects whose class is [[ref:/libraries/base/reference/special_chart]] ).Since special objects may contain thousands of attributes, only the first fifty are displayed by default. If left-clicked, a dialog is popped up that sets the exploration indices of special objects that will be loaded in the future. <br/>
This popup also shows the "Maximum displayed string size" in the grid ([[Objects tool: Introduction|objects tool]] , or the [[Expression evaluation|watch tools]] ).
This popup also shows the "Maximum displayed string size" in the grid ([[Object tool|object tool]], or the [[Expression evaluation|watch tools]] ).
This dialog changes the settings for future special objects: