mirror of
https://github.com/EiffelSoftware/eiffel-org.git
synced 2025-12-08 15:52:26 +01:00
Author:Peter Gummer Date:2011-05-21T01:16:38.000000Z git-svn-id: https://svn.eiffel.com/eiffel-org/trunk@908 abb3cda0-5349-4a8f-a601-0c33ac3a8c38
32 lines
1.7 KiB
Plaintext
32 lines
1.7 KiB
Plaintext
[[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.
|
|
|
|
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 compiled in workbench mode.
|
|
* EiffelStudio should be open on the project which was used to compile the application.
|
|
|
|
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.
|
|
|
|
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, 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 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.}}
|
|
|
|
|
|
|