//usr/lib64/lib64//lib64/lib64//ó
ÛœSec @ s$ d Z d d l Z d d l m Z d d l m Z d Z d a d Z i Z i Z i Z
i Z d „ Z d „ Z
d
d d „ ƒ YZ d d d
„ ƒ YZ d „ Z d d d „ ƒ YZ d d d „ ƒ YZ d d! d „ ƒ YZ d d" d „ ƒ YZ d d# d „ ƒ YZ d „ Z d „ Z d „ Z d „ Z d S($ sÎ Support for remote Python debugging.
Some ASCII art to describe the structure:
IN PYTHON SUBPROCESS # IN IDLE PROCESS
#
# oid='gui_adapter'
+----------+ # +------------+ +-----+
| GUIProxy |--remote#call-->| GUIAdapter |--calls-->| GUI |
+-----+--calls-->+----------+ # +------------+ +-----+
| Idb | # /
+-----+<-calls--+------------+ # +----------+<--calls-/
| IdbAdapter |<--remote#call--| IdbProxy |
+------------+ # +----------+
oid='idb_adapter' #
The purpose of the Proxy and Adapter classes is to translate certain
arguments and return values that cannot be transported through the RPC
barrier, in particular frame and traceback objects.
iÿÿÿÿN( t rpc( t Debuggeri t idb_adaptert gui_adapterc C s t | ƒ } | t | <| S( N( t idt
frametable( t framet fid( ( s. /usr/lib64/python2.7/idlelib/RemoteDebugger.pyt
wrap_frame) s
c C sO | d k r d S| d } t | ƒ } | t | <| d | d | f } | Sd S( s0 replace info[2], a traceback instance, by its IDi i i N( t NoneR t tracebacktable( t infot tracebackt traceback_idt
modified_info( ( s. /usr/lib64/python2.7/idlelib/RemoteDebugger.pyt wrap_info. s
t GUIProxyc B s e Z d „ Z d d „ Z RS( c C s | | _ | | _ d S( N( t connt oid( t selfR t gui_adap_oid( ( s. /usr/lib64/python2.7/idlelib/RemoteDebugger.pyt __init__<