관리-도구
편집 파일: RemoteDebugger.cpython-34.pyc
� e f�. � @ s) d Z d d l Z d d l m Z d Z d a d Z i Z i Z i Z i Z d d � Z d d � Z Gd d � d � Z Gd d � d � Z d d � Z Gd d � d � Z Gd d � d � Z Gd d � d � Z Gd d � d � Z Gd d � d � Z d d � Z d d � Z d d � Z d d! � Z d S)"a� 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. � N)�Debugger�idb_adapterZgui_adapterc C s t | � } | t | <| S)N)�id� frametable)�frame�fid� r �;/opt/alt/python34/lib64/python3.4/idlelib/RemoteDebugger.py� wrap_frame( s r c C sg | d k r d S| d } t | t j � s2 t � t | � } | t | <| d | d | f } | Sd S)z0replace info[2], a traceback instance, by its IDN� r � )� isinstance�types� TracebackType�AssertionErrorr �tracebacktable)�info� tracebackZtraceback_id� modified_infor r r � wrap_info- s r c @ s+ e Z d Z d d � Z d d d � Z d S)�GUIProxyc C s | | _ | | _ d S)N)�conn�oid)�selfr �gui_adap_oidr r r �__init__; s zGUIProxy.__init__Nc C s5 | j j | j d | t | � t | � f i � d S)N�interaction)r � remotecallr r r )r �messager r r r r r ? s zGUIProxy.interaction)�__name__� __module__�__qualname__r r r r r r r 9 s r c @ s e Z d Z d d � Z d d � Z d d � Z d d � Z d d � Z d d � Z d d � Z d d � Z d d � Z d d � Z d d � Z d d � Z d d � Z d d � Z d d � Z d d � Z d! d"