[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