Your IP : 3.138.114.198


Current Path : /opt/alt/python36/lib64/python3.6/idlelib/__pycache__/
Upload File :
Current File : //opt/alt/python36/lib64/python3.6/idlelib/__pycache__/debugger_r.cpython-36.opt-2.pyc

3

��2al/�@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 �Zed!kr�dd"lmZed#d$d%d&�dS)'�N)�debugger�idb_adapterZgui_adaptercCst|�}|t|<|S)N)�id�
frametable)�frame�fid�r�//opt/alt/python36/lib64/python3.6/debugger_r.py�
wrap_frame(sr
cCs>|dkrdS|d}t|�}|t|<|d|d|f}|SdS)N�r�)r�tracebacktable)�info�	tracebackZtraceback_id�
modified_inforrr	�	wrap_info-src@seZdZdd�Zddd�ZdS)�GUIProxycCs||_||_dS)N)�conn�oid)�selfr�gui_adap_oidrrr	�__init__;szGUIProxy.__init__NcCs&|jj|jd|t|�t|�fi�dS)N�interaction)r�
remotecallrr
r)r�messagerrrrr	r?szGUIProxy.interaction)N)�__name__�
__module__�__qualname__rrrrrr	r9src@s�eZdZdd�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#VszIdbAdapter.set_nextcCst|}|jj|�dS)N)rr�
set_return)rrrrrr	r$ZszIdbAdapter.set_returncCsFt|}|dkrd}nt|}|jj||�\}}dd�|D�}||fS)NcSsg|]\}}t|�|f�qSr)r
)�.0Zframe2�krrr	�
<listcomp>esz(IdbAdapter.get_stack.<locals>.<listcomp>)rr
r�	get_stack)rr�tbidr�tb�stack�irrr	r(^szIdbAdapter.get_stackcCsddl}|jj||j�dS)Nr)�__main__r�run�__dict__)r�cmdr-rrr	r.hszIdbAdapter.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	r6tsz IdbAdapter.clear_all_file_breakscCst|}t||�S)N)r�getattr)rr�namerrrr	�
frame_attrzszIdbAdapter.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�szIdbAdapter.code_namecCst|}|jS)N)rB�co_filename)rrDrCrrr	�
code_filename�szIdbAdapter.code_filenamecCstd��dS)Nz"dict_keys not public or pickleable)�NotImplementedError)rr=rrr	�	dict_keys�szIdbAdapter.dict_keyscCst|}t|j��S)N)r;�list�keys)rr=r<rrr	�dict_keys_list�szIdbAdapter.dict_keys_listcCst|}||}t|�}|S)N)r;�repr)rr=�keyr<�valuerrr	�	dict_item�szIdbAdapter.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@s<eZdZdd�Zdd�Zdd�Zdd�Zd	d
�Zdd�Zd
S)�
FrameProxycCs||_||_d|_i|_dS)Nr)�_conn�_fid�_oid�
_dictcache)rrrrrr	r�szFrameProxy.__init__cCsb|dd�dkrt|��|dkr(|j�S|dkr8|j�S|dkrH|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]�szFrameProxy._get_f_codecCs"|jj|jd|jfi�}|j|�S)Nr>)rWrrYrX�_get_dict_proxy)rr=rrr	r^�szFrameProxy._get_f_globalscCs"|jj|jd|jfi�}|j|�S)Nr@)rWrrYrXrb)rr=rrr	r_�szFrameProxy._get_f_localscCs2||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@seZdZdd�Zdd�ZdS)racCs||_||_||_dS)N)rWrY�_cid)rrrrDrrr	r�szCodeProxy.__init__cCsD|dkr |jj|jd|jfi�S|dkr@|jj|jd|jfi�SdS)NrFrGrHrI)rWrrYrd)rr8rrr	r`�szCodeProxy.__getattr__N)rrrrr`rrrr	ra�srac@s,eZdZdd�Zdd�Zdd�Zdd�Zd	S)
rccCs||_||_||_dS)N)rWrY�_did)rrrr=rrr	rszDictProxy.__init__cCs|jj|jd|jfi�S)NrN)rWrrYre)rrrr	rMs
zDictProxy.keyscCs|jj|jd|j|fi�S)NrR)rWrrYre)rrPrrr	�__getitem__szDictProxy.__getitem__cCst|��dS)N)r\)rr8rrr	r`szDictProxy.__getattr__N)rrrrrMrfr`rrrr	rcs	rcc@seZdZdd�Zdd�ZdS)�
GUIAdaptercCs||_||_dS)N)r�gui)rrrhrrr	rszGUIAdapter.__init__cCs t|j|�}|jj|||�dS)N)rVrrhr)rrrrrrrr	r!szGUIAdapter.interactionN)rrrrrrrrr	rgsrgc@sleZdZdd�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)szIdbProxy.__init__cOs|jj|j|||�}|S)N)rrr)rZ
methodname�args�kwargsrQrrr	�call.sz
IdbProxy.callcCs$|jj|jd|fi�}||jj_dS)Nr.)rZ
asyncqueuerrjZinterpZ
active_seq)rr0�locals�seqrrr	r.4szIdbProxy.runcs.�jd|j|�\}}�fdd�|D�}||fS)Nr(cs g|]\}}t�j|�|f�qSr)rVr)r%rr&)rrr	r'<sz&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	r6VszIdbProxy.clear_all_file_breaksN)rrrrrmr.r(r"r r#r$r!r1r5r6rrrr	ri'sricCsD|jddtfi�at||t�}tj||�}t||�}|jt|�|S)N�exec�start_the_debugger)rrrTrirZDebuggerrgrS)�rpccltZpyshellZ	idb_proxyrhZgui_adaprrr	�start_remote_debuggerZs

rscCst|�|jt�dS)N)�close_subprocess_debuggerZ
unregisterr)rrrrr	�close_remote_debuggerrs	rucCs|jddtfi�dS)NrpZstop_the_debugger)rrT)rrrrr	rt~srtcCs|jddtfi�}dS)Nrprq)rr)rrZidb_adap_oid_retrrr	�restart_subprocess_debugger�s
rvr-)�mainzidlelib.idle_test.test_debuggerrF)�	verbosity�exit)�typesZidlelibrZ	debuggingrTrrr;rBr
r
rrrrUrVrarcrgrirsrurtrvrZunittestrwrrrr	�<module>s2
m*3

?>