From 262d9a84184779fcda6826ea8633e3d21497b599 Mon Sep 17 00:00:00 2001 From: halw Date: Mon, 10 Jan 2011 17:43:19 +0000 Subject: [PATCH] Created. Author:halw Date:2011-01-10T17:43:19.000000Z git-svn-id: https://svn.eiffel.com/eiffel-org/trunk@729 abb3cda0-5349-4a8f-a601-0c33ac3a8c38 --- .../running-and-debugging/tracing.wiki | 43 +++++++++++++++++++ 1 file changed, 43 insertions(+) create mode 100644 documentation/current/eiffelstudio/eiffelstudio-how-tos/running-and-debugging/tracing.wiki diff --git a/documentation/current/eiffelstudio/eiffelstudio-how-tos/running-and-debugging/tracing.wiki b/documentation/current/eiffelstudio/eiffelstudio-how-tos/running-and-debugging/tracing.wiki new file mode 100644 index 00000000..f6cf8b4b --- /dev/null +++ b/documentation/current/eiffelstudio/eiffelstudio-how-tos/running-and-debugging/tracing.wiki @@ -0,0 +1,43 @@ +[[Property:title|Tracing]] +[[Property:weight|8]] +[[Property:uuid|69b8b724-1820-6cae-211c-6edbce9a6a6b]] +{{UnderConstruction}} + + +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. + +To do this: +* Open the [[Group Options|Project Settings]] dialog. +* Under '''Clusters''' select the cluster you want to see traced. +* Set the value of '''Trace''' to '''True'''. +* Click '''Apply''' or '''OK'''. +* You must [[Generating executables|recompile]] your project for the changes to take effect. + +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: +* 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: + + + local + ts: TRACING_SETTING + -- Other local variables if necessary. + do + create ts.make + ps.disable_tracing + -- Program execution continues. + ps.enable_tracing + end + + + + +