Author:halw

Date:2009-01-21T17:06:12.000000Z


git-svn-id: https://svn.eiffel.com/eiffel-org/trunk@167 abb3cda0-5349-4a8f-a601-0c33ac3a8c38
This commit is contained in:
halw
2009-01-21 17:06:12 +00:00
parent 7e389c6bc5
commit cd2e30a9d3
5 changed files with 31 additions and 22 deletions

View File

@@ -2,7 +2,10 @@
[[Property:weight|1]]
[[Property:uuid|1255beef-e115-b8ae-87f6-08e267fe3d8f]]
For performance reason, the recording mechanism has a few parameters. For now there is no way to change them easily with the graphical debugger, however you can change those parameters by editing (and recompiling) <code>{RT_DBG_EXECUTION_PARAMETERS}.make</code>.
* integer parameter: <code>{RT_DBG_EXECUTION_PARAMETERS}.maximum_record_count</code> (default: 1_000_000): the recording keeps only the last '''maximum_record_count''' object's records.
* <code>{RT_DBG_EXECUTION_PARAMETERS}.maximum_record_count</code>
** Type: <code>INTEGER</code>
** Default value: 1_000_000
** Effect: The recording keeps only the last <code>maximum_record_count</code> object's records.
* boolean parameter: <code>{RT_DBG_EXECUTION_PARAMETERS}.flatten_when_closing</code> (default: True): when leaving a feature, the recorder can flatten the associated record. This will save memory space, and optimize underlying mechanism. By default it is enabled (and recommended).
* boolean parameter: <code>{RT_DBG_EXECUTION_PARAMETERS}.keep_calls_records</code>(default: True): when flattening call records' values, keep the sub-call records (i.e: the execution calls history)
* boolean parameter: <code>{RT_DBG_EXECUTION_PARAMETERS}.recording_values</code>(default: True): during execution, record attribute and locals assignment (if you just want to review the calls history, you can discard value recording to speed up the recording.)

View File

@@ -1,10 +1,10 @@
[[Property:title|Attribute symbols]]
[[Property:weight|1]]
[[Property:uuid|6dfbde5d-3423-4f10-6569-30af2ba00dd1]]
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]] ).
In both trees of the [[Object tool|object tool]], objects are displayed. The values displayed for each object fall into two categories: the object's 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>,...
The following symbol scheme is used to categorize each item:
* [[Image:debugger-object-immediate-icon]] An attribute of a basic type, such as [[ref:/libraries/base/reference/kernel/integer_chart.xml|INTEGER]] or [[ref:/libraries/base/reference/kernel/classic/double_chart.xml|DOUBLE]]
* [[Image:debugger-object-eiffel-icon]] An attribute that is a reference to an object
* [[Image:debugger-object-void-icon]] A Void reference
* [[Image:debugger-object-expanded-icon]] An object that is expanded

View File

@@ -3,10 +3,12 @@
[[Property:uuid|41544c3b-e1f1-53a5-ff63-e63224c32fa3]]
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]] .
In order to have the instances of a class display such a string in the object tool, let the class inherit from the class <eiffel>DEBUG_OUTPUT</eiffel>. Then implement the feature <eiffel>debug_output</eiffel> to craft the string for display. At run-time, the debugger will automatically query this feature on all objects that define it, and then will display the results in the object tool and the [[Expression evaluation|evaluation tool]].
{{sample|The <eiffel>NUMERIC</eiffel> class inherits from the <eiffel>DEBUG_OUTPUT</eiffel> one so that it is possible to see the value of *_REF objects without expanding them. }}
{{tip|If an object has a long string output or an output with carriage returns, for instance, pick-and-drop it to the expanded display command [[Image:debugger-expand-info-icon]] in the object tool. }}

View File

@@ -13,22 +13,23 @@ When an exception occurs (for instance, an assertion violation), the objects too
[[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.
{{note|Specific case for .NET system: When the system is stopped, the first item of the local view displays the module name for the feature at which execution 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.
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.
'''The tool bar buttons:'''<br/>
- the [[Remove object command|remove object command]] [[Image:general-delete-icon]] <br/>
- the [[Set slice size command|set slice size command]] [[Image:debugger-set-sizes-icon]] .<br/>
- the button [[Image:debugger-expand-info-icon]] can give an [[Object Viewer (also known as Expanded display)|expanded display]] of the string relative to an object, by dropping the object onto the button (or pressing Ctrl+E on the selected value). Use it if an object has a very long string representation or a string representation that contains carriage returns, for example.<br/>
- the button [[Image:debugger-show-hex-value-icon]] switch the display of integer values between decimal and hexadecimal format.<br/>
- and the button [[Image:execution-object-storage-icon]] controls the [[Debuggee's Object Storage|remote object storage]] .
* the [[Remove object command|remove object command]] [[Image:general-delete-icon]] <br/>
* the [[Set slice size command|set slice size command]] [[Image:debugger-set-sizes-icon]] .<br/>
* the button [[Image:debugger-expand-info-icon]] can give an [[Object Viewer (also known as Expanded display)|expanded display]] of the string relative to an object, by dropping the object onto the button (or pressing Ctrl+E on the selected value). Use it if an object has a very long string representation or a string representation that contains carriage returns, for example.<br/>
* the button [[Image:debugger-show-hex-value-icon]] switches the display of integer values between decimal and hexadecimal format.<br/>
* and the button [[Image:execution-object-storage-icon]] controls the [[Debuggee's Object Storage|remote object storage]] .
'''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".
{{tip|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". Then you can use the tool layout editor as shown below to adjust which information you want displayed in each of the two sides. }}
[[Image:object-tool-layout-editor]]
@@ -38,7 +39,7 @@ The tool's layout can be customized to have 2 side-by-side "left" and "right" gr
{{note|When a row has a pink background, this indicates the value is different from previous step }}
{{tip|You can use the [[Expression evaluation|expression evaluator tools]] (alias watch tools) to have the same features with even more functionalities}}
{{tip|The [[Expression evaluation|expression evaluator tools]] (alias "watch" tools) provides many of the same features as the object tool along with even more functionality. }}

View File

@@ -1,19 +1,22 @@
[[Property:title|Set slice size command]]
[[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 ([[Object tool|object tool]], or the [[Expression evaluation|watch tools]] ).
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|SPECIAL]] ). Because 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.
This pop-up 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:
[[Image:set-default-slice-size-dlg]]
If a special object is [[Pick-and-drop mechanism|dropped]] onto this command, the special object that is dropped is shrunk or extended in the tree according to the new exploration indices it is given in the dialog box. The dropped object may be any object, top-level or not.
This dialog changes the settings for a single special object (the dropped object) :
[[Image:set-slice-size-dlg]]
You can affect the display of a single special object only by [[Pick-and-drop mechanism|dropping]] the object onto this ( [[Image:debugger-set-sizes-icon]] ) command. A dialog box appears, and the special object that is dropped is shrunk or extended in the tree according to the new exploration indices you set in the dialog box. The dropped object may be any special object, top-level or not.
This dialog changes the settings for a single special object (the dropped object) :
[[Image:set-default-slice-size-dlg]]