[wingide-users] Setting breakpoints in remote debugging with different source paths

David Korz dkorz at gridironsystems.com
Wed Dec 16 21:01:07 MST 2009

It appears WING is not using the location map when setting breakpoints during remote debugging. From the debug log it looks like it's using the desktop's path rather than the remote hosts paths to set the breakpoints.

My project directory is on a file server (Linux) which is mounted by my desktop machine (Linux). The server is a Linux-based hardware "appliance" that doesn't have X11, gtk, or any UI stuff installed so I can't run the IDE there. I installed WING 3.2.3-1 on the server from the tar.gz, copied wingdbstub.py and wingdebugpw, made the necessary edits for WINGHOME and WINGDB_HOSTPORT, and set my IDE to allow connections from the remote host. I use the following script to test:
import wingdbstub

a = 0
for i in xrange(1000):
    a += 1
print "Entered the debugger"

raw_input("Hit Enter to proceed")

print "\nAnother statement"

A connection is made. When the script pauses at the read. I can hit the pause button in the IDE and then see the Stack Data or go to Debug Probe and view or modify things. Breakpoints don't work.

>From the debug log file on the remote host it looks like the IDE is using the local path to the source file to set the breakpoint. I have a location map entry for the remote host to map /gi/home/dkorz/gt/usr/src/mgmt/www to /gridiron/www. Shouldn't the IDE be telling the remote host to stop at /gridiron/www/debugtest.py line 3?

wingdbg - 2009/12/17 22:56:17 - 'Connecting to client...'
wingdbg - 2009/12/17 22:56:17 - 'Connected to client'
wingdbg - 2009/12/17 22:56:17 - 'netserver executing' '0x11004' None
wingdbg - 2009/12/17 22:56:17 - 'netserver sending back' '0x1016' ('', 50015, 27157, 'debugtest.py', None, 14, 1)
wingdbg - 2009/12/17 22:56:17 - 'netserver executing' '0x30004' (1, [], [], [(u'
/gi/home/dkorz/gt/usr/src/mgmt/www/falconeye/debugtest.py', 3, 0, None, 1, 0), (
u'/gi/home/dkorz/gt/usr/src/mgmt/www/debugtest.py', 10, 0, None, 1, 0), (u'/gi/h
ome/dkorz/gt/usr/src/mgmt/www/debugtest.py', 3, 0, None, 1, 0)])
wingdbg - 2009/12/17 22:56:17 - 'SERVER SIDE UPDATE BREAKS' []
wingdbg - 2009/12/17 22:56:17 - 'SERVER SIDE SET BREAKS' [(u'/gi/home/dkorz/gt/u
sr/src/mgmt/www/falconeye/debugtest.py', 3, 0, None, 1, 0), (u'/gi/home/dkorz/gt
/usr/src/mgmt/www/debugtest.py', 10, 0, None, 1, 0), (u'/gi/home/dkorz/gt/usr/sr
c/mgmt/www/debugtest.py', 3, 0, None, 1, 0)]
wingdbg - 2009/12/17 22:56:17 - 'setting BP at 3 in /gi/home/dkorz/gt/usr/src/mg

As a test I mounted /gi/home/dkorz/gt/usr/src/mgmt/www to /gridiron/www and opened the project via that path. For some reason the IDE remembered where debugtest.py originally was and continued to send the the /gi based path. I saved debugtest.py as test.py, set a breakpoint at line 3, then ran the script and the breakpoint was hit. While this works for my test it won't for my application due to other directories I need (and can't move).

I feel I must be missing something since the whole point of the location map seems designed to handle this. I'd appreciate any insight, thanks...

More information about the wingide-users mailing list