[PyKDE] eric3 - debugging & svn integration
Robin Bryce
robin at wiretooth.com
Sun Jun 13 03:46:00 BST 2004
hi all,
Newbie eric3 user migrating from winglite. I like the eric3 environment
a lot but I've had some problems with the debugger and svn integration.
also big apologies to all if this is inappropriate post.
fedora core 2
Python 2.3.3
Qt 3.2.2-2
PyQt-3.12
QScintilla 1.3
BRM 0.9 cvs20040211
eric-3.4.2 installed from a source tar ball.
so stuff I've had trouble with:
1. if I clear all break points, hit F6, I cant interrupt the program by
setting a new break point. I can imagine a number of work around that
would require hackery in my source. thats fine but if there is a better
way ...
2. attempted to use passive debugging mode in conjunction with the multi
threaded client. using the following command line:
python
/usr/lib/python2.3/site-packages/eric3/Debugger/DebugClientThreads.py -w
/home/myhome/mydevdir -- /usr/bin/twistd --originalname --pidfile
blackmiled.pid -nof blackmiled.tap
this caused infinite loop in DebugClientBase.py in the argument
processing loop beginning at line 1106. changing all the del args[1]'s
to del args[0]'s fixed this.
with that change the debugger connected to the ide but fell over in:
DebugClientBase.shouldSkip line 751
attributeError: tracePython
call stack was (verbatim trace at end of email)
DebugClientThreads.py 183 shouldSkip
DebugBase.py 386 stop_here
bdb.py 70 dispatch_call
bdb.py 50 trace_dispatch
twistd 23 "import sys, os, string"
string:1
DebugClientBase 1079 startProgInDebugger
DebugClientBase 1132 main
DebugClientThreads 183
I'm guessing line 293 in DebugClientBase.py has not been executed at the
point the exception is thrown but I'm out of my depth here.
passive mode works fine using same command line but with DebugClientNoQt
instead of DebugClientThreads
3. svn checkout forces '/trunk' onto the end of the repository path if
no tag is specified. what I really wanted was a 'just use _this_ path'
setting. changing line 177 in subversion.py to svnUrl = vcsDir had the
effect I was after.
4. urls of the form https://svn.domain.com:PORTNUM/repos/ were
problematic. ended up changing the body of svnURL in supbersion.py line
1066 to:
url = tuple(url.split(':', 2))
if len(url) == 3:
scheme = url[0]
host = url[1]
port, path = url[2].split("/",1)
return "%s:%s:%s/%s" % (scheme, host,port,urllib.quote(path))
else:
return "%s:%s" % (url[0], urllib.quote(url[1]))
5. I really wanted an option to accept self signed ssl certificates. I
understand the issues with this but I want the choice. could anyone
point me in the right direction so I can either kluge this in localy or
implement 'as best I can' ? I gave up with this in the end and just used
ssh + localport forwarding.
6. I very much want to have one eric project with subfolders that are
bound to different parts of a svn archive. ie:
svnpath/projectA
svnpath/otherprojects/projectB, projectC
svnpath/yetmoreprojects/projectD
and have an eric project with vcs integration with a direcory tree like
this:
/home/build/masterproject/
projectA,
projectB
projectC
projectD
Any how, a big thank you to the developers of eric3. I think its really
very nice!
Best Regards,
Robin Bryce
-------------------------------------------------------------------------
full stack trace for attribute error thing with passive debugging
File
"/usr/lib/python2.3/site-packages/eric3/Debugger/DebugClientThreads.py",
line 183, in ?
debugClient.main()
File
"/usr/lib/python2.3/site-packages/eric3/Debugger/DebugClientBase.py",
line 1132, in main
self.startProgInDebugger(args, wd, host, port)
File
"/usr/lib/python2.3/site-packages/eric3/Debugger/DebugClientBase.py",
line 1079, in startProgInDebugger
res = self.mainThread.run('execfile(' + `self.running` +
')',self.debugMod.__dict__)
File "/usr/lib/python2.3/bdb.py", line 350, in run
exec cmd in globals, locals
File "<string>", line 1, in ?
File "/usr/bin/twistd", line 23, in ?
import sys, os, string
File "/usr/lib/python2.3/site-packages/Debugger/DebugThread.py", line
111, in trace_dispatch
File "/usr/lib/python2.3/bdb.py", line 50, in trace_dispatch
return self.dispatch_call(frame, arg)
File "/usr/lib/python2.3/bdb.py", line 70, in dispatch_call
if not (self.stop_here(frame) or self.break_anywhere(frame)):
File "/usr/lib/python2.3/site-packages/Debugger/DebugBase.py", line
386, in stop_here
File
"/usr/lib/python2.3/site-packages/eric3/Debugger/DebugClientBase.py",
line 751, in shouldSkip
if self.mainThread.tracePython: # trace into Python library
AttributeError: tracePython
More information about the PyQt
mailing list