summaryrefslogtreecommitdiffstats
path: root/Lib/idlelib/RemoteDebugger.py
diff options
context:
space:
mode:
Diffstat (limited to 'Lib/idlelib/RemoteDebugger.py')
-rw-r--r--Lib/idlelib/RemoteDebugger.py12
1 files changed, 7 insertions, 5 deletions
diff --git a/Lib/idlelib/RemoteDebugger.py b/Lib/idlelib/RemoteDebugger.py
index 054b975..41f910f 100644
--- a/Lib/idlelib/RemoteDebugger.py
+++ b/Lib/idlelib/RemoteDebugger.py
@@ -287,19 +287,21 @@ class GUIAdapter:
class IdbProxy:
- def __init__(self, conn, oid):
+ def __init__(self, conn, shell, oid):
self.oid = oid
self.conn = conn
+ self.shell = shell
def call(self, methodname, *args, **kwargs):
- ##print "call %s %s %s" % (methodname, args, kwargs)
+ ##print "**IdbProxy.call %s %s %s" % (methodname, args, kwargs)
value = self.conn.remotecall(self.oid, methodname, args, kwargs)
- ##print "return %s" % `value`
+ ##print "**IdbProxy.call %s returns %s" % (methodname, `value`)
return value
def run(self, cmd, locals):
# Ignores locals on purpose!
- self.call("run", cmd)
+ seq = self.conn.asynccall(self.oid, "run", (cmd,), {})
+ self.shell.interp.active_seq = seq
def get_stack(self, frame, tbid):
# passing frame and traceback IDs, not the objects themselves
@@ -352,7 +354,7 @@ def start_remote_debugger(rpcclt, pyshell):
idb_adap_oid = rpcclt.remotecall("exec", "start_the_debugger",\
(gui_adap_oid,), {})
- idb_proxy = IdbProxy(rpcclt, idb_adap_oid)
+ idb_proxy = IdbProxy(rpcclt, pyshell, idb_adap_oid)
gui = Debugger.Debugger(pyshell, idb_proxy)
gui_adap = GUIAdapter(rpcclt, gui)
rpcclt.register(gui_adap_oid, gui_adap)