Your IP : 3.145.85.123


Current Path : /opt/alt/python35/lib64/python3.5/idlelib/__pycache__/
Upload File :
Current File : //opt/alt/python35/lib64/python3.5/idlelib/__pycache__/RemoteDebugger.cpython-35.opt-2.pyc



���]�.�@s#ddlZddlmZdZdadZiZiZiZiZ	dd�Z
dd�ZGd	d
�d
�ZGdd�d�Z
d
d�ZGdd�d�ZGdd�d�ZGdd�d�ZGdd�d�ZGdd�d�Zdd�Zdd�Zdd�Zdd �ZdS)!�N)�Debugger�idb_adapterZgui_adaptercCst|�}|t|<|S)N)�id�
frametable)�frame�fid�r�3/opt/alt/python35/lib64/python3.5/RemoteDebugger.py�
wrap_frame(s
r
cCsO|dkrdS|d}t|�}|t|<|d|d|f}|SdS)N�r�)r�tracebacktable)�info�	tracebackZtraceback_id�
modified_inforrr	�	wrap_info-s

rc@s+eZdZdd�Zddd�ZdS)�GUIProxycCs||_||_dS)N)�conn�oid)�selfr�gui_adap_oidrrr	�__init__;s	zGUIProxy.__init__NcCs5|jj|jd|t|�t|�fi�dS)N�interaction)r�
remotecallrr
r)r�messagerrrrr	r?szGUIProxy.interaction)�__name__�
__module__�__qualname__rrrrrr	r9src@seZdZdd�Zdd�Zdd�Zdd�Zd	d
�Zdd�Zd
d�Z	dd�Z
dd�Zdd�Zdd�Z
dd�Zdd�Zdd�Zdd�Zdd �Zd!d"�Zd#d$�Zd%d&�Zd'd(�Zd)S)*�
IdbAdaptercCs
||_dS)N)�idb)rrrrr	rHszIdbAdapter.__init__cCs|jj�dS)N)r�set_step)rrrr	r MszIdbAdapter.set_stepcCs|jj�dS)N)r�set_quit)rrrr	r!PszIdbAdapter.set_quitcCs|jj�dS)N)r�set_continue)rrrr	r"SszIdbAdapter.set_continuecCst|}|jj|�dS)N)rr�set_next)rrrrrr	r#Vs
zIdbAdapter.set_nextcCst|}|jj|�dS)N)rr�
set_return)rrrrrr	r$Zs
zIdbAdapter.set_returncCsat|}|dkrd}n
t|}|jj||�\}}dd�|D�}||fS)NcSs(g|]\}}t|�|f�qSr)r
)�.0Zframe2�krrr	�
<listcomp>es	z(IdbAdapter.get_stack.<locals>.<listcomp>)rr
r�	get_stack)rr�tbidr�tb�stack�irrr	r(^s
	
zIdbAdapter.get_stackcCs&ddl}|jj||j�dS)Nr)�__main__r�run�__dict__)r�cmdr-rrr	r.hszIdbAdapter.runcCs|jj||�}|S)N)r�	set_break)r�filename�lineno�msgrrr	r1lszIdbAdapter.set_breakcCs|jj||�}|S)N)r�clear_break)rr2r3r4rrr	r5pszIdbAdapter.clear_breakcCs|jj|�}|S)N)r�clear_all_file_breaks)rr2r4rrr	r6tsz IdbAdapter.clear_all_file_breakscCst|}t||�S)N)r�getattr)rr�namerrrr	�
frame_attrzs
zIdbAdapter.frame_attrcCs-t|}|j}t|�}|t|<|S)N)r�	f_globalsr�	dicttable)rrr�dict�didrrr	�
frame_globals~s

	
zIdbAdapter.frame_globalscCs-t|}|j}t|�}|t|<|S)N)r�f_localsrr;)rrrr<r=rrr	�frame_locals�s

	
zIdbAdapter.frame_localscCs-t|}|j}t|�}|t|<|S)N)r�f_coder�	codetable)rrr�code�cidrrr	�
frame_code�s

	
zIdbAdapter.frame_codecCst|}|jS)N)rB�co_name)rrDrCrrr	�	code_name�s
zIdbAdapter.code_namecCst|}|jS)N)rB�co_filename)rrDrCrrr	�
code_filename�s
zIdbAdapter.code_filenamecCstd��dS)Nz"dict_keys not public or pickleable)�NotImplemented)rr=rrr	�	dict_keys�szIdbAdapter.dict_keyscCst|}t|j��S)N)r;�list�keys)rr=r<rrr	�dict_keys_list�s
zIdbAdapter.dict_keys_listcCs$t|}||}t|�}|S)N)r;�repr)rr=�keyr<�valuerrr	�	dict_item�s

zIdbAdapter.dict_itemN)rrrrr r!r"r#r$r(r.r1r5r6r9r>r@rErGrIrKrNrRrrrr	rFs(
	rcCs>t||�}tj|�}t|�}|jt|�tS)N)rrZIdbr�register�idb_adap_oid)Z
rpchandlerrZ	gui_proxyrZidb_adaprrr	�start_debugger�s

rUc@sXeZdZdd�Zdd�Zdd�Zdd�Zd	d
�Zdd�Zd
S)�
FrameProxycCs(||_||_d|_i|_dS)Nr)�_conn�_fid�_oid�
_dictcache)rrrrrr	r�s			zFrameProxy.__init__cCs�|dd�dkr"t|��|dkr8|j�S|dkrN|j�S|dkrd|j�S|jj|jd|j|fi�S)Nr�_rAr:r?r9)�AttributeError�_get_f_code�_get_f_globals�
_get_f_localsrWrrYrX)rr8rrr	�__getattr__�s


zFrameProxy.__getattr__cCs:|jj|jd|jfi�}t|j|j|�S)NrE)rWrrYrX�	CodeProxy)rrDrrr	r]�s$zFrameProxy._get_f_codecCs1|jj|jd|jfi�}|j|�S)Nr>)rWrrYrX�_get_dict_proxy)rr=rrr	r^�szFrameProxy._get_f_globalscCs1|jj|jd|jfi�}|j|�S)Nr@)rWrrYrXrb)rr=rrr	r_�szFrameProxy._get_f_localscCsC||jkr|j|St|j|j|�}||j|<|S)N)rZ�	DictProxyrWrY)rr=Zdprrr	rb�s

zFrameProxy._get_dict_proxyN)	rrrrr`r]r^r_rbrrrr	rV�srVc@s(eZdZdd�Zdd�ZdS)racCs||_||_||_dS)N)rWrY�_cid)rrrrDrrr	r�s		zCodeProxy.__init__cCs`|dkr.|jj|jd|jfi�S|dkr\|jj|jd|jfi�SdS)NrFrGrHrI)rWrrYrd)rr8rrr	r`�szCodeProxy.__getattr__N)rrrrr`rrrr	ra�srac@s@eZdZdd�Zdd�Zdd�Zdd�Zd	S)
rccCs||_||_||_dS)N)rWrY�_did)rrrr=rrr	rs		zDictProxy.__init__cCs"|jj|jd|jfi�S)NrN)rWrrYre)rrrr	rMszDictProxy.keyscCs%|jj|jd|j|fi�S)NrR)rWrrYre)rrPrrr	�__getitem__szDictProxy.__getitem__cCst|��dS)N)r\)rr8rrr	r`szDictProxy.__getattr__N)rrrrrMrfr`rrrr	rcs	rcc@s(eZdZdd�Zdd�ZdS)�
GUIAdaptercCs||_||_dS)N)r�gui)rrrhrrr	rs	zGUIAdapter.__init__cCs,t|j|�}|jj|||�dS)N)rVrrhr)rrrrrrrr	r!szGUIAdapter.interactionN)rrrrrrrrr	rgsrgc@s�eZdZdd�Zdd�Zdd�Zdd�Zd	d
�Zdd�Zd
d�Z	dd�Z
dd�Zdd�Zdd�Z
dd�ZdS)�IdbProxycCs||_||_||_dS)N)rr�shell)rrrjrrrr	r)s		zIdbProxy.__init__cOs"|jj|j|||�}|S)N)rrr)rZ
methodname�args�kwargsrQrrr	�call.sz
IdbProxy.callcCs4|jj|jd|fi�}||jj_dS)Nr.)rZ
asyncqueuerrjZinterpZ
active_seq)rr0�locals�seqrrr	r.4s!zIdbProxy.runcsA�jd|j|�\}}�fdd�|D�}||fS)Nr(cs.g|]$\}}t�j|�|f�qSr)rVr)r%rr&)rrr	r'<s	z&IdbProxy.get_stack.<locals>.<listcomp>)rmrX)rrr)r+r,r)rr	r(9szIdbProxy.get_stackcCs|jd�dS)Nr")rm)rrrr	r"?szIdbProxy.set_continuecCs|jd�dS)Nr )rm)rrrr	r BszIdbProxy.set_stepcCs|jd|j�dS)Nr#)rmrX)rrrrr	r#EszIdbProxy.set_nextcCs|jd|j�dS)Nr$)rmrX)rrrrr	r$HszIdbProxy.set_returncCs|jd�dS)Nr!)rm)rrrr	r!KszIdbProxy.set_quitcCs|jd||�}|S)Nr1)rm)rr2r3r4rrr	r1NszIdbProxy.set_breakcCs|jd||�}|S)Nr5)rm)rr2r3r4rrr	r5RszIdbProxy.clear_breakcCs|jd|�}|S)Nr6)rm)rr2r4rrr	r6VszIdbProxy.clear_all_file_breaksN)rrrrrmr.r(r"r r#r$r!r1r5r6rrrr	ri'sricCsb|jddtfi�at||t�}tj||�}t||�}|jt|�|S)N�exec�start_the_debugger)rrrTrirrgrS)�rpccltZpyshellZ	idb_proxyrhZgui_adaprrr	�start_remote_debuggerZsrscCst|�|jt�dS)N)�close_subprocess_debugger�
unregisterr)rrrrr	�close_remote_debuggerrs	
rvcCs|jddtfi�dS)NrpZstop_the_debugger)rrT)rrrrr	rt~srtcCs|jddtfi�}dS)Nrprq)rr)rrZidb_adap_oid_retrrr	�restart_subprocess_debugger�srw)�typesZidlelibrZ	debuggingrTrrr;rBr
r
rrrrUrVrarcrgrirsrvrtrwrrrr	�<module>s,
m*3

?>