mirror of
https://github.com/EiffelSoftware/eiffel-org.git
synced 2026-02-06 08:54:32 +01:00
Author:halw
Date:2009-01-25T23:31:24.000000Z git-svn-id: https://svn.eiffel.com/eiffel-org/trunk@168 abb3cda0-5349-4a8f-a601-0c33ac3a8c38
This commit is contained in:
@@ -4,14 +4,14 @@
|
||||
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]] ).
|
||||
|
||||
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-immediate-icon]] An attribute of a basic Eiffel 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
|
||||
|
||||
For .NET system, special symbols are used to describe :
|
||||
* [[Image:debugger-object-dotnet-icon]] An object that is external (i.e not known as an Eiffel type)
|
||||
* [[Image:debugger-object-dotnet-static-icon]] A static value object that is external (i.e not known as an Eiffel type)
|
||||
* [[Image:debugger-object-dotnet-icon]] An object that is external (i.e., not known as an Eiffel type)
|
||||
* [[Image:debugger-object-dotnet-static-icon]] A static value object that is external (i.e., not known as an Eiffel type)
|
||||
* [[Image:debugger-object-static-icon]] A static value object that is known as an Eiffel type
|
||||
|
||||
|
||||
|
||||
@@ -1,12 +1,12 @@
|
||||
[[Property:title|Debug output]]
|
||||
[[Property:weight|2]]
|
||||
[[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.
|
||||
For virtually any object displayed in the Object tool, it is possible for the developer to cause the Object tool to display a user-definable string value next to the object address.
|
||||
|
||||
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]].
|
||||
In order to have the instances of a class display such a string in the object tool, make the class an heir to class <eiffel>DEBUG_OUTPUT</eiffel>. Then implement the feature <eiffel>debug_output</eiffel> to return the string to be displayed. 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. }}
|
||||
{{sample|The numeric *<code>_REF</code> classes inherit (through class <eiffel>NUMERIC</eiffel>) from the class <eiffel>DEBUG_OUTPUT</eiffel> so that it is possible to see immediately the value of *<code>_REF</code> objects in the Object tool. The *<code>_REF</code> classes are reference versions of the basic Eiffel classes such as [[ref:/libraries/base/reference/kernel/integer_chart.xml|INTEGER]] and [[ref:/libraries/base/reference/kernel/classic/double_chart.xml|DOUBLE]]. So, without <eiffel>DEBUG_OUTPUT</eiffel>, if you wanted to see, for example, the value of the [[ref:/libraries/base/reference/kernel/integer_chart.xml|INTEGER]] associated with an instance of [[ref:/libraries/base/reference/kernel/integer_ref_chart.xml|INTEGER_REF]] displayed in the Object tool, you would have expand the reference first.}}
|
||||
|
||||
|
||||
{{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. }}
|
||||
|
||||
@@ -3,21 +3,21 @@
|
||||
[[Property:uuid|6b736424-1729-0b6f-6ddd-8240f9f8ffd6]]
|
||||
[[Image:object-tool]]
|
||||
|
||||
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.
|
||||
The object tool is a debugging tool that displays extended dynamic information about runtime objects while debugging an application. This information includes the values of attributes, as well as the values of <code>once</code> 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' 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).
|
||||
By default the Object tool display is composed of one grid, which gives information about the [[Call stack tool|current stack element]]. Specifically, 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 <code>Result</code> (if this feature is a function).
|
||||
|
||||
When an exception occurs (for instance, an assertion violation), the objects tool will also display the exception information:
|
||||
When an exception occurs (for instance, an assertion violation), the object tool will also display the exception information:
|
||||
|
||||
|
||||
[[Image:objects-tool-exception]]
|
||||
|
||||
|
||||
{{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. }}
|
||||
{{note|A specific case for .NET systems: 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 values of their attributes. They are also pickable, so that it is possible to drop them onto the Object tool, an [[Expression evaluation|expression evaluator tool]] (also know as Watch tool), or an editor.
|
||||
|
||||
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.
|
||||
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.
|
||||
|
||||
|
||||
|
||||
@@ -35,11 +35,11 @@ It is also possible to use the [[Set slice size command|set slice size command]]
|
||||
[[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 .}}
|
||||
{{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. }}
|
||||
|
||||
{{note|When a row has a pink background, this indicates the value is different from previous step }}
|
||||
{{note|When a row displays a pink background, this indicates the value has changed as a result of the previous step. }}
|
||||
|
||||
{{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. }}
|
||||
{{tip|The [[Expression evaluation|expression evaluator tools]] (also known as Watch tools) provide many of the same features as the object tool along with even more functionality. }}
|
||||
|
||||
|
||||
|
||||
|
||||
@@ -1,24 +1,36 @@
|
||||
[[Property:title|Object Viewer (also known as Expanded display)]]
|
||||
[[Property:weight|4]]
|
||||
[[Property:uuid|62002ce3-37f9-22de-39f0-0930468a67be]]
|
||||
You can either show the "Object Viewer" tool (Menu Execution>Tools>Object Viewer, or popup the object viewer dialog thanks to the button located in the tool bar of the [[Object tool|objects tool]] and [[Expression evaluation|watch tool]] . <br/>
|
||||
You can either show the "Object Viewer" tool through the menu path
|
||||
<code lang=text>
|
||||
Execution --> Tools --> Object Viewer</code>
|
||||
|
||||
or pop-up the object viewer dialog by clicking the button ( [[Image:debugger-expand-info-icon]] ) located in the tool bar of the [[Object tool|objects tool]] and [[Expression evaluation|watch tool]].
|
||||
|
||||
This command [[Image:debugger-expand-info-icon]] opens an object viewer dialog when an object is dropped onto the button.
|
||||
|
||||
Depending the nature of the dropped object, you can view it with several viewers:
|
||||
Depending the nature of the dropped object, you can view it with one or more of several viewers:
|
||||
* '''Object dump''': dump a text representation of the value
|
||||
* '''String display''': string representation
|
||||
* '''XML display''': xml viewer
|
||||
* '''Object browse''': browse the object, as you would do in objects or watch tools
|
||||
* '''Object internal''': display a few internal data such as <code>class_name</code>, <code>type_name</code>, <code>dynamic_type</code>, <code>field_count</code>, <code>deep_physicial_size</code>, and <code>physical_size</code>
|
||||
* '''Object browse''': browse the object, as you would do in the Object or watch tools
|
||||
* '''Object internal''': display some internal data elements such as:
|
||||
** <code>class_name</code>
|
||||
** <code>type_name</code>
|
||||
** <code>dynamic_type</code>
|
||||
** <code>field_count</code>
|
||||
** <code>deep_physicial_size</code>
|
||||
** <code>physical_size</code>
|
||||
|
||||
{{note|that the "string display" viewer is available for object with a string representation, for instance object conformed to [[ref:/libraries/base/reference/string_8_chart]] or conform to [[ref:/libraries/base/reference/debug_output_chart]] (see [[Debug output|Debug Output]] )}}
|
||||
{{note|The "string display" viewer is available for objects with a string representation, for instance objects whose types conform to [[ref:/libraries/base/reference/string_8_chart|STRING_8]] or conform to [[ref:/libraries/base/reference/debug_output_chart|DEBUG_OUTPUT]] (see [[Debug output|Debug Output]]. )}}
|
||||
|
||||
{{note|And the "XML display" is available for object eligible to "String display", and whose string representation has XML content. The viewer is display XML in a basic tree enabled grid.}}
|
||||
{{note|The "XML display" is available for objects eligible for "String display", and whose string representation has XML content. The viewer displays XML in a tree-enabled grid.}}
|
||||
|
||||
|
||||
'''String display viewer:''':<br/>
|
||||
'''String display viewer:''':
|
||||
|
||||
<center> [[Image:expanded-display-default]] </center>
|
||||
|
||||
[[Image:expanded-display-default]]
|
||||
|
||||
Displays the object as a string, by default the displayed length is 50:<br/>
|
||||
If the limits are over the current slice limits, the displayed string will end by "..." to show there is more.<br/>
|
||||
@@ -27,21 +39,29 @@ If you click on the auto expand button [[Image:debugger-object-expand-icon]] ,
|
||||
You can enable or disable the line wrapping by clicking onto [[Image:general-word-wrap-icon]] .
|
||||
|
||||
|
||||
|
||||
'''Object dump viewer:'''
|
||||
<center> [[Image:object-viewer-dump]] </center>
|
||||
|
||||
|
||||
[[Image:object-viewer-dump]]
|
||||
|
||||
|
||||
'''Object browse viewer:'''
|
||||
<center> [[Image:object-viewer-browse]] </center>
|
||||
|
||||
|
||||
[[Image:object-viewer-browse]]
|
||||
|
||||
|
||||
'''Object internal viewer:'''
|
||||
<center> [[Image:object-viewer-internal]] </center>
|
||||
|
||||
|
||||
[[Image:object-viewer-internal]]
|
||||
|
||||
|
||||
'''XML viewer:'''
|
||||
<center> [[Image:object-viewer-xml]] </center>
|
||||
|
||||
|
||||
|
||||
[[Image:object-viewer-xml]]
|
||||
|
||||
|
||||
|
||||
|
||||
@@ -11,7 +11,7 @@ This dialog changes the settings for future special objects:
|
||||
[[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.
|
||||
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 expanded 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) :
|
||||
|
||||
|
||||
Reference in New Issue
Block a user