Commit 38f11101 authored by Kurt B. Kaiser's avatar Kurt B. Kaiser

Debugger was tracing through rpc.py when IDLEfork was not started

from its source directory.  Generalize the "workaround" (though
the latter seems a reasonable solution?) to handle this.
parent 7cca3d8e
......@@ -15,7 +15,7 @@ class Idb(bdb.Bdb):
def user_line(self, frame):
co_filename = frame.f_code.co_filename
co_name = frame.f_code.co_name
## co_name = frame.f_code.co_name
## print>>sys.__stderr__, "*function: ", frame.f_code.co_name
## print>>sys.__stderr__, "*file: ", frame.f_code.co_filename
......@@ -23,28 +23,26 @@ class Idb(bdb.Bdb):
## print>>sys.__stderr__, "*name: ", co_name
## print>>sys.__stderr__, "*function: ", frame.f_locals.get(co_name,None)
try:
# XXX 12 Dec 2002 CGT TO DO: Find way to get a reference to the
# XXX currently running function. If the function has an
# attribute called "DebuggerStepThrough", prevent the debugger
# from stepping through Idle code. The following doesn't work
# in instance methods. Hard coded some workarounds.
func = frame.f_locals[co_name]
if getattr(func, "DebuggerStepThrough", 0):
print "XXXX DEBUGGER STEPPING THROUGH"
self.set_step()
return
except:
pass
## try:
## # XXX 12 Dec 2002 CGT TO DO: Find way to get a reference to the
## # XXX currently running function. If the function has an
## # attribute called "DebuggerStepThrough", prevent the debugger
## # from stepping through Idle code. The following doesn't work
## # in instance methods. Hard coded some workarounds.
## func = frame.f_locals[co_name]
## if getattr(func, "DebuggerStepThrough", 0):
## print "XXXX DEBUGGER STEPPING THROUGH"
## self.set_step()
## return
## except:
## pass
# workaround for the problem above
if co_filename in (r'.\rpc.py', 'rpc.py','<string>'):
self.set_step()
return
if co_filename.endswith('threading.py'):
self.set_step()
return
exclude = ('rpc.py', 'threading.py', '<string>')
for rpcfile in exclude:
if co_filename.count(rpcfile):
self.set_step()
return
message = self.__frame2message(frame)
self.gui.interaction(message, frame)
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment