mirror of
https://github.com/EiffelSoftware/eiffel-org.git
synced 2025-12-07 07:12:25 +01:00
m
Author:halw Date:2011-05-20T16:21:01.000000Z git-svn-id: https://svn.eiffel.com/eiffel-org/trunk@906 abb3cda0-5349-4a8f-a601-0c33ac3a8c38
This commit is contained in:
@@ -1,29 +1,31 @@
|
||||
[[Property:title|Attach application]]
|
||||
[[Property:link_title|]]
|
||||
[[Property:weight|0]]
|
||||
[[Property:uuid|d5b8d2b3-9489-a631-81ee-f25d6c309215]]
|
||||
[[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 the EiffelStudio's debugger to it.
|
||||
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.
|
||||
|
||||
Since 6.8, there is an experimental solution based on socket connection.
|
||||
You start your application, and this one will wait for the debugger to connect.
|
||||
Beginning with EiffelStudio version 6.8, there is an experimental solution based on socket connection.
|
||||
After you start the execution of your application, it will wait for the debugger to connect.
|
||||
|
||||
There are some obvious requirements such as
|
||||
* The application should be a workbench application
|
||||
* EiffelStudio should be open on the project which was used to compile the workbench.
|
||||
* The application should be compiled in workbench mode.
|
||||
* EiffelStudio should be open on the project which was used to compile the application.
|
||||
|
||||
So how to achieve that?
|
||||
* On the application side, you will need to provide at some time a port number, and when the application will wait for the debugger.
|
||||
So how do you make it work?
|
||||
* On the application side, at some point you will need to provide a port number, and at what point the application will wait for the debugger.
|
||||
|
||||
On the application side, you can do that either
|
||||
* by setting '''ISE_DBG_PORTNUM''' environment variable to a specific port number (by default 1050)
|
||||
You can do that either:
|
||||
* by setting <code>ISE_DBG_PORTNUM</code> environment variable to a specific port number (by default 1050), or
|
||||
* by calling <eiffel>{RT_DEBUGGER}.rt_workbench_wait_for_debugger (a_port_number: INTEGER)</eiffel> from the program itself
|
||||
|
||||
Then from EiffelStudio, menu "Execution>Attach Debuggee" and provide the same port number.
|
||||
Then from EiffelStudio, follow the menu path <code>Execution->Attach Debuggee</code> and provide the same port number.
|
||||
(note that you can add the associated command to the execution tool bar).
|
||||
|
||||
At this point EiffelStudio is able to debug the application as if it was launched by Eiffel Studio itself.
|
||||
|
||||
{{note| This solution is still experimental, it can (and will) be improved in the future}}
|
||||
At this point EiffelStudio is able to debug the application just as if the application had been launched by EiffelStudio.
|
||||
|
||||
|
||||
{{note| As of EiffelStudio version 6.8, this solution is still experimental. It can be expected to improve in the future.}}
|
||||
|
||||
|
||||
|
||||
|
||||
Reference in New Issue
Block a user