Author:admin

Date:2008-09-19T07:55:09.000000Z


git-svn-id: https://svn.eiffel.com/eiffel-org/trunk@27 abb3cda0-5349-4a8f-a601-0c33ac3a8c38
This commit is contained in:
jfiat
2008-09-19 10:22:25 +00:00
parent c7f7178710
commit 4087eb614e
367 changed files with 390 additions and 1 deletions

View File

@@ -1,5 +1,6 @@
[[Property:title|Exploring an application dynamic state]]
[[Property:weight|2]]
[[Property:uuid|0dd359d5-4f84-75c6-1c8c-c4091e916670]]
To view the dynamic state of a debugged application, just stop it at the point where you want to see its context. The debugger tools will automatically be popped up then, yielding the call stack of the application, as well as the state of the objects located in the object tree, which include at least the object corresponding to the level of the call stack where the call stack cursor [[Image:callstack-active-arrow-icon]] is.
To see at which point the features in the call stack have stopped, just click the feature on which you want this information in the call stack. Doing this will change the cursor position in the call stack and display the flat view of the feature in the context tool.

View File

@@ -1,5 +1,6 @@
[[Property:title|Handling exceptions]]
[[Property:weight|4]]
[[Property:uuid|43ce73b9-3ac4-4f71-34a3-f359a66d9082]]
It is possible to raise and catch exceptions in Eiffel. Catching exceptions is done by using the rescue keyword. The [[ref:/libraries/base/reference/exceptions_chart|EXCEPTIONS]] class provides helper features to analyze the caught exception and handle it.
The <eiffel>[[ref:/libraries/base/reference/exceptions_chart|EXCEPTIONS]] </eiffel> class also provides ways to raise exception, via its feature [[ref:libraries/base/reference/exceptions_flatshort|raise]] .

View File

@@ -1,5 +1,6 @@
[[Property:title|Running and debugging]]
[[Property:weight|4]]
[[Property:uuid|58896f87-21d7-917d-6d91-661523d8afa9]]
* [[Running an application|Running an application]]
* [[Interrupting an application|Interrupting an application]]
* [[Exploring an application dynamic state|Exploring an application dynamic state]]

View File

@@ -1,5 +1,6 @@
[[Property:title|Interrupting an application]]
[[Property:weight|1]]
[[Property:uuid|89bc6f76-ca23-950f-485a-35973022554b]]
There are two ways a debugged application can be interrupted: its execution can be paused, or it can be killed.
Two methods can be used to pause a debugged application:

View File

@@ -1,5 +1,6 @@
[[Property:title|Profiling]]
[[Property:weight|7]]
[[Property:uuid|cd9f3f2d-25bf-4b1a-eaf9-9b9d056228eb]]
The profiler is a tool that gives dynamic execution time information. It is very useful to detect which parts of a program need to be optimized most.
To use the profiler, the first thing to do is to enable it.

View File

@@ -1,5 +1,6 @@
[[Property:title|Running an application]]
[[Property:weight|0]]
[[Property:uuid|61be4ec3-d50c-21b9-0649-fac9cd7796b9]]
There are several ways to launch an application. Not all are available depending on the way you compiled your system.
Melted and frozen executables can be debugged. Several methods can be used to launch such an executable:

View File

@@ -1,5 +1,6 @@
[[Property:title|Setting the command line arguments]]
[[Property:weight|6]]
[[Property:uuid|4aed0363-4aa9-89ce-aaa7-6dce00410afb]]
To debug a program that uses command line parameters, it is possible to have the debugger call the generated program with certain command line arguments automatically.
To change the command line arguments used when debugging:

View File

@@ -1,5 +1,6 @@
[[Property:title|Using breakpoints]]
[[Property:weight|3]]
[[Property:uuid|f25c8058-8278-7ee3-79cb-ff97e224e74a]]
To change the status of one breakpoint, it is possible to use the [[Breakpoint editing|breakpoints menu]] , which changes the state of a single breakpoint at a time.
To change the status of several breakpoints at the same time, the easiest way is to use the [[Breakpoint commands|breakpoints-related commands]] , which have actions at feature-scope, class-scope and system-scope.

View File

@@ -1,5 +1,6 @@
[[Property:title|Using debug clauses]]
[[Property:weight|5]]
[[Property:uuid|78e0273d-525e-a338-dfe4-d5fc27cd06d3]]
Eiffel provides ways to add debug code to features to help during their debugging. You may think of it as the well-known C construct: <code></code>
<code>#ifdef MY_DEBUG_FLAG/* Debug code is here */ #endif</code>