added 18.07

git-svn-id: https://svn.eiffel.com/eiffel-org/trunk@2049 abb3cda0-5349-4a8f-a601-0c33ac3a8c38
This commit is contained in:
eiffel-org
2018-07-11 09:05:50 +00:00
parent ec04a36d3d
commit 12a94b8720
2936 changed files with 61869 additions and 1 deletions

View File

@@ -0,0 +1,32 @@
[[Property:title|Attach application]]
[[Property:link_title|]]
[[Property:weight|0]]
[[Property:uuid|e369df0f-2e1f-5730-ae67-cd7b60b55c5f]]
Usually when you want to debug an application, you launch it from EiffelStudio and the debugger is automatically attached to the execution of the application.
However for specific needs (such as server development), you might want to start the execution outside EiffelStudio, and then attach EiffelStudio's debugger to it.
= Requirements: =
* The application should be compiled in workbench mode.
* EiffelStudio should be opened on the project used to compile the application.
= How to make it work? =
* The application execution will wait for the debugger to connect on a specific port number (given by the user).
== Execution ==
There are 2 ways to provide this port number:
* Setting the <code>ISE_DBG_PORTNUM</code> environment variable to a specific port number will make the execution to wait right away for EiffelStudio to attach the process.
* calling <eiffel>{RT_DEBUGGER}.wait_for_debugger (a_port_number: INTEGER)</eiffel> from the application code will wait for EiffelStudio to attach the process.
In both case, if it is unable to open the port, the execution continues, otherwise it waits until EiffelStudio get connected (i.e attach the execution).
It is possible to use any available port number, for that make sure your machine does not already use the port number you choose, and that the application is authorized to open that port (for instance try with port 50505).
Note that the port number should be greater than 1023 and available (i.e not opened by other application).
The range 49152-65535 can be used for such custom or temporary purposes, and is more likely to have available port.
== EiffelStudio ==
To attach the process from EiffelStudio, follow the menu path <code>Execution->Attach Debuggee</code> and provide the same port number as specified above.
(Note that you can add the associated command to the execution tool bar.)
If EiffelStudio is unable to "attach" the debuggee, it will timeout and report the error (this could happen if the debuggee does not open the specific port).
Once attached the execution, EiffelStudio is able to debug the application just as if the application was launched from EiffelStudio.

View File

@@ -0,0 +1,11 @@
[[Property:title|Detach application]]
[[Property:weight|0]]
[[Property:uuid|5da63d87-107d-338e-de64-1a52912fd00c]]
When you are executing an Eiffel application within EiffelStudio (i.e you are debugging it), you may want to detach the debugger from this application without killing the application. The "Detach Execution" command will address this need.
You can find it under menu <code>Execution->Detach Execution</code>, and you can also add it to the execution tool bar items.

View File

@@ -0,0 +1,14 @@
[[Property:title|Execute one line at a time]]
[[Property:weight|-9]]
[[Property:uuid|7d4489b4-5f29-2b1c-af83-afc2b25c8f85]]
If no application was already running, this command launches an application compiled in Work Bench mode and stops at its first line.
If an application was stopped, it attempts to execute the instruction located on the execution line where the application is stopped. If this execution line does not contain an instruction, the execution stops at the next execution line.
It is accessible through the '''project''' toolbar ( [[Image:debug-step-over-icon]] ) or through the '''debug''' menu.
{{seealso| [[Execution commands]], [[Generating executables|Compiling in Workbench mode]] }}

View File

@@ -0,0 +1,33 @@
[[Property:title|Execution profiles]]
[[Property:weight|-13]]
[[Property:uuid|90e64e1c-b5fc-e150-9901-50daffaac893]]
While working on a project, you may want to launch your system with values for one or more arguments, specify a working directory, and/or change certain environment variables.
Those parameters are done by changing the execution profiles. For that you need to use the '''Execution parameters''' dialog.
* You can open this dialog in either of two ways:
** Follow the EiffelStudio menu path: <code>Execution -> Execution parameters</code> .
** Right-click any of the buttons on the debugging/execution toolbar.
==Using the "Execution parameters" dialog==
[[Image:argument-dialog]]
The dialog allows you to manage different execution profiles to specify parameters to be passed to the system at execution time.
Each profile lets you set a title, the '''arguments''', the '''working directory''', as well as your own '''environment variables'''.
To use a profile, just select it by clicking the corresponding line in the grid.
Once the appropriate execution profile is selected then the system can be run with those parameters using the Run button (If "Keep Dialog Open" is selected the dialog remains opened).<br/>
To run without any particular parameters, select the '''default''' profile.
If you click on "Run Workbench" or "Run Finalized", the system will be executed outside EiffelStudio (thus debugging is unavailable).
{{tip|From version 6.5, you can unset an environment variable FOO by adding the "&-FOO" to the environment variables. By prefixing with "&-", you mark the variable "FOO" to be removed. If you use "&-*", all variables will be removed (except for any that you add to the list after the "&-*" entry). }}

View File

@@ -0,0 +1,28 @@
[[Property:title|Execution commands]]
[[Property:weight|-15]]
[[Property:uuid|098e4d2b-18c5-6933-fe42-2d55e427f5fa]]
While working on a project, you may want to launch it to see if it behaves as expected, and if not to find out where the problem is located.
There are several ways to launch the application you are working on from EiffelStudio:
* [[Run a finalized executable|Run a finalized executable]] [[Image:debug-run-finalized-icon]], where no debug is possible.
* Launch an application and enable its debugging
** [[Run and stop at breakpoints|Launch and stop]] [[Image:debug-run-icon]] as soon as the application encounters a [[Breakpoints|breakpoint]]
** [[Run without breakpoints|Launch and do not stop]] [[Image:debug-run-without-breakpoint-icon]] when encountering breakpoints
* Execute one step in the application
** [[Step into a feature|Step into a feature]] [[Image:debug-step-into-icon]]
** [[Execute one line at a time|Execute one line]] [[Image:debug-step-over-icon]]
** [[Step out of a feature|Exit a feature]] [[Image:debug-step-out-icon]]
Once the application is launched in debug mode, you can [[Pause an application|pause]] [[Image:debug-pause-icon]] it at any time to see its current state or you can [[Stop a debugged application|stop its execution]] [[Image:debug-stop-icon]] completely.
* In addition, you can also [[detach application|detach an application]] being debugged, and there is an experimental solution to [[attach application|attach]] the debugger to the Eiffel application launched outside EiffelStudio.
All these commands are accessible either through the '''Execution''' menu, or through the '''project''' toolbar.
{{seealso| The Eiffel [[Compiler|Compiler]] }}

View File

@@ -0,0 +1,12 @@
[[Property:title|Pause an application]]
[[Property:weight|-7]]
[[Property:uuid|846b52cb-6654-23be-3576-cc175a6fbf04]]
This command stops the execution of a running debugged application.
This gives access to dynamic information concerning the application, such as the current [[Call stack tool|call stack]] and the [[Object tool|state of objects]] in the system.
It is accessible through the '''project''' toolbar ( [[Image:debug-pause-icon]] ) or through the '''debug''' menu.
{{seealso| [[Execution commands]] }}

View File

@@ -0,0 +1,11 @@
[[Property:title|Run and stop at breakpoints]]
[[Property:weight|-15]]
[[Property:uuid|16310d6f-9ab8-e27c-5802-059d8fc80914]]
This command launches an application compiled in Work Bench mode. The application will stop as soon as a [[Breakpoints|breakpoint]] is encountered, or when an exception occurs.
It is accessible through the '''project''' toolbar ( [[Image:debug-run-icon]] ) or through the '''debug''' menu.
{{seealso| [[Execution commands]], [[Generating executables|Compiling in Workbench mode]] }}

View File

@@ -0,0 +1,12 @@
[[Property:title|Run with arguments]]
[[Property:weight|-14]]
[[Property:uuid|0c8c089c-f953-3337-87dc-09a0c8150c21]]
While working on a project, you may want to launch your system with one or more arguments.
There are two ways to access the '''Execution Parameters''' dialog which lets you specify arguments to be used by your system when launched from EiffelStudio:
* By following the EiffelStudio menu path: <code lang="text">Execution -> Execution parameters</code> .
* By right-clicking any of the buttons on the debugging toolbar.
See the [[Execution profiles|Execution parameters dialog]] for more details.

View File

@@ -0,0 +1,14 @@
[[Property:title|Run a finalized executable]]
[[Property:weight|-11]]
[[Property:uuid|a69ab49a-2bd1-a405-837c-b3e629fa5394]]
As opposed to other execution commands, this command launches an application compiled in finalized mode. This has the same effect as running the application in the <code>EIFGENs/target_name/F_code</code> directory from a console prompt.
No debugging is possible with this command, but it lets you test the real speed of your program without any overhead.
It is accessible through the '''project''' toolbar ( [[Image:debug-run-finalized-icon]] ) or through the '''project''' menu.
{{seealso| [[Execution commands]], [[Generating executables|Compiling in finalized mode]] }}

View File

@@ -0,0 +1,13 @@
[[Property:title|Run without breakpoints]]
[[Property:weight|-12]]
[[Property:uuid|1f619bce-a3c7-5984-d3e6-4c5dceabf53d]]
This command launches an application compiled in Workbench mode. The application will not stop when a [[Breakpoints|breakpoint]] is encountered. However, it stops when an exception occurs.
It is accessible through the '''project''' toolbar ( [[Image:debug-run-without-breakpoint-icon]] ) or through the '''debug''' menu.
{{seealso| [[Execution commands]], [[Generating executables|Compiling in Workbench mode]] }}

View File

@@ -0,0 +1,14 @@
[[Property:title|Step into a feature]]
[[Property:weight|-10]]
[[Property:uuid|a141505a-cc5a-afe1-6f8c-8e216bd7a232]]
If no application was already running, this command launches an application compiled in Work Bench mode and stops at its first line.
If an application was stopped, it attempts to enter the feature located on the execution line where the application is stopped. If this feature is an attribute, or another non debuggable feature, it simply executes the current execution line and stops at the next one.
It is accessible through the '''project''' toolbar ( [[Image:debug-step-into-icon]] ) or through the '''debug''' menu.
{{seealso| [[Execution commands]], [[Generating executables|Compiling in Workbench mode]] }}

View File

@@ -0,0 +1,13 @@
[[Property:title|Step out of a feature]]
[[Property:weight|-8]]
[[Property:uuid|4d3b068d-cbeb-be94-94c9-f73eb12b6c0e]]
If no application was already running, this command launches an application compiled in Work Bench mode and stops at its first line.
If an application was stopped, it attempts to exit the feature where the application is stopped.
It is accessible through the '''project''' toolbar ( [[Image:debug-step-out-icon]] ) or through the '''debug''' menu.
{{seealso| [[Execution commands]], [[Generating executables|Compiling in Workbench mode]] }}

View File

@@ -0,0 +1,13 @@
[[Property:title|Stop a debugged application]]
[[Property:weight|-6]]
[[Property:uuid|648fdd76-c393-982d-5367-1e9b02669248]]
This command kills the debugged application, if any. This stops the debugging session.
It is accessible through the '''project''' toolbar ( [[Image:debug-stop-icon]] ) or through the '''debug''' menu.
{{seealso| [[Execution commands]] }}