[wingide-users] Remoting debugging, many-to-many

Wingware Support support at wingware.com
Mon Aug 4 07:53:23 MDT 2008


Mark A. Schmucker wrote:
> I have a cluster of computers running my Python jobs. I'm successfully 
> using Remote Debugging, as described in the manual, to debug from my 
> Wing computer. I followed the instructions for Installing the Debugger 
> Core, and copied the required files to a shared WINGHOME location on the 
> cluster. These "debugger core" files tell the cluster computers to 
> connect to Wing on port 50005 (the default).
>  
> So far so good.
>  
> I told my co-worker how great Wing is for remote debugging, so now he 
> wants to do the same. The problem is that if my Wing is listening for 
> remote connections on port 50005, my co-worker's Wing says it cannot 
> listen on 50005- "another instance of Wing is already be listening on 
> that port".
>  
> And I still have several more co-workers to convert to Wing :-)
>  
> How can I make this work? I guess each co-workers' debugging session 
> must dynamically specify a port, and associate that port with a 
> particular job somehow. Note we cannot control which of the 
> cluster computers actually executes the Python code- we want whichever 
> computer gets the job to connect to a specific instance of Wing. Maybe 
> where we "import wingdbstub", we could first set a variable to specify 
> the port dynamically. Or maybe there's a better way.

To do this, assign a port to each user, set that in Wing's preferences under
Debugger / External/Remote / Server Port, and then in your code figure out
how to identify which user is debugging and set WINGDB_HOSTPORT environment
variable before importing wingdbstub.  This sets kWingHostPort to the
value in the env (see inside wingdbstub.py for comments/details).

-- 

Stephan Deibel
Wingware | Python IDE
Advancing Software Development

www.wingware.com



More information about the wingide-users mailing list