mirror of
https://github.com/EiffelSoftware/eiffel-org.git
synced 2025-12-07 07:12:25 +01:00
Author:halw
Date:2011-01-10T22:03:41.000000Z git-svn-id: https://svn.eiffel.com/eiffel-org/trunk@730 abb3cda0-5349-4a8f-a601-0c33ac3a8c38
This commit is contained in:
BIN
documentation/current/eiffelstudio/_images/trace_01_off.png
Normal file
BIN
documentation/current/eiffelstudio/_images/trace_01_off.png
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 11 KiB |
@@ -0,0 +1,3 @@
|
||||
title=Tracing 01 off
|
||||
author=halw
|
||||
path=content/tracing-01
|
||||
BIN
documentation/current/eiffelstudio/_images/trace_01_on.png
Normal file
BIN
documentation/current/eiffelstudio/_images/trace_01_on.png
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 12 KiB |
@@ -0,0 +1,3 @@
|
||||
title=Tracing 01 on
|
||||
author=halw
|
||||
path=content/tracing-01-0
|
||||
Binary file not shown.
|
After Width: | Height: | Size: 34 KiB |
@@ -0,0 +1,3 @@
|
||||
title=Tracing 01 with EiffelBase
|
||||
author=halw
|
||||
path=content/tracing-01-eiffelbase
|
||||
@@ -1,12 +1,15 @@
|
||||
[[Property:title|Tracing]]
|
||||
[[Property:weight|8]]
|
||||
[[Property:uuid|69b8b724-1820-6cae-211c-6edbce9a6a6b]]
|
||||
[[Property:uuid|ecb9dd1e-52a9-25c4-b27b-4b5ec806b115]]
|
||||
{{UnderConstruction}}
|
||||
|
||||
=Introduction=
|
||||
|
||||
The '''tracing facility''' allows you to see a structured log of the flow of control through your system, feature by feature. By default, execution traces are written to standard output.
|
||||
|
||||
You can enable tracing for a particular cluster by setting the '''Trace''' setting to '''True''' in your project settings for a particular cluster.
|
||||
=The "Trace" project setting=
|
||||
|
||||
You can make tracing usable for a particular cluster by setting the '''Trace''' setting to '''True''' in your project settings for a particular cluster.
|
||||
|
||||
To do this:
|
||||
* Open the [[Group Options|Project Settings]] dialog.
|
||||
@@ -17,13 +20,34 @@ To do this:
|
||||
|
||||
This will cause a trace entry to be written to the console for any feature execution on a class in the cluster(s) you selected for tracing. To get a feel for this, look at the following trace outputs, built on the default Eiffel application ("Hello Eiffel World!).
|
||||
|
||||
It is also possible to dynamically start and stop tracing. To do this:
|
||||
First, here's what the "Hello Eiffel World!" output looks like without using the tracing facility.
|
||||
|
||||
|
||||
[[Image:Tracing 01 off]]
|
||||
|
||||
|
||||
Next, here's the output when the '''Trace''' project setting is set to '''True''' on the root cluster.
|
||||
|
||||
|
||||
[[Image:Tracing 01 on]]
|
||||
|
||||
|
||||
Last, here's the output when '''Trace''' is '''True''' for both the root cluster and EiffelBase.
|
||||
|
||||
|
||||
[[Image:Tracing 01 with EiffelBase]]
|
||||
|
||||
|
||||
=Dynamic control=
|
||||
|
||||
It is also possible to enable and disable the trace dynamically. To do this:
|
||||
* Create an object of type [[ref:/libraries/base/reference/tracing_setting_chart|TRACING_SETTING]] .
|
||||
* Call [[ref:libraries/base/reference/tracing_setting_flatshort|enable_tracing]] on this object to start the trace.
|
||||
* Call [[ref:libraries/base/reference/tracing_setting_flatshort|disable_tracing]] on this object to stop the trace.
|
||||
|
||||
{{tip|To enable tracing on only part of a system, disable tracing at the very beginning of the program, enable it just before the part of the code that should be traced, and then disable it again after this section. The code below illustrates this tip. }}
|
||||
|
||||
|
||||
In the root feature:
|
||||
|
||||
<code>
|
||||
@@ -34,8 +58,25 @@ In the root feature:
|
||||
create ts.make
|
||||
ps.disable_tracing
|
||||
-- Program execution continues.
|
||||
ps.enable_tracing
|
||||
end</code>
|
||||
...
|
||||
end
|
||||
</code>
|
||||
|
||||
|
||||
Then, in a feature in which tracing is desired:
|
||||
|
||||
<code>
|
||||
local
|
||||
ts: TRACING_SETTING
|
||||
-- Other local variables if necessary.
|
||||
do
|
||||
create ts.make
|
||||
ps.enable_tracing -- Enable trace
|
||||
-- Section needing trace.
|
||||
...
|
||||
ps.disable_tracing -- Disable trace
|
||||
end
|
||||
</code>
|
||||
|
||||
|
||||
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
[[Property:title|EiffelRibbon]]
|
||||
[[Property:weight|2]]
|
||||
[[Property:uuid|26bd5ec6-c29a-ac92-b683-39d6bf969b80]]
|
||||
[[Property:uuid|2f24957c-7fdc-f918-8c0d-37a9ef525508]]
|
||||
{{UnderConstruction}}
|
||||
|
||||
|
||||
@@ -11,7 +11,7 @@ EiffelRibbon is a library of classes with an associated tool which allows the in
|
||||
=Current state of development=
|
||||
|
||||
Initial distribution:
|
||||
:The EiffelRibbon library is not usable directly. The EiffelRibbon tool allows you to design a ribbon and will generate code that relies on the EiffelRibbon library.
|
||||
:The EiffelRibbon library is not usable directly. The EiffelRibbon design tool allows you to design a ribbon and will generate code that relies on the EiffelRibbon library.
|
||||
|
||||
:A class <code>EV_RIBBON_TITLED_WINDOW</code> is provided with the library. <code>EV_RIBBON_TITLED_WINDOW</code> is a descendant of the standard EiffelVision 2 class <code>EV_TITLED_WINDOW</code>. The ribbon classes generated by EiffelRibbon tool can be added only to instances of <code>EV_RIBBON_TITLED_WINDOW</code>.
|
||||
|
||||
@@ -24,5 +24,28 @@ To use the EiffelRibbon library and tools you must have:
|
||||
## Windows SDK 7.0 or greater
|
||||
## Visual Studio 2008 or greater
|
||||
|
||||
=The EiffelRibbon design tool=
|
||||
|
||||
The EiffelRibbon design tool allows you to design a ribbon graphically, then generate the corresponding Eiffel classes necessary to implement your design.
|
||||
|
||||
The interface of the design tool mimics that of [[EiffelBuild|EiffelBuild]]. That is, the interface contains three panes that have counterparts in EiffelBuild:
|
||||
|
||||
# Type selector: A list of all the elements available for use in a ribbon.
|
||||
# Layout constructor: A structured view of the organization of the elements used in a particular ribbon design.
|
||||
# Object editor: The properties of the ribbon element which is currently selected in the Layout constructor.
|
||||
|
||||
So, if you've used EiffelBuild, the the EiffelRibbon design tool should seem quite familiar to you.
|
||||
|
||||
The typical usage of the design tool is much like the typical usage of EiffelBuild.
|
||||
|
||||
* Create a new project ( <code lang="text">File ->New Project...</code> ) and choose a location for your EiffelRibbon project.
|
||||
* Configure the ribbon by adding elements, name the elements, and choose icons for buttons.
|
||||
* Save the project.
|
||||
* Generate the code.
|
||||
* Use EiffelStudio to compile the generated code.
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
Reference in New Issue
Block a user