SILENT KILLERPanel

Current Path: > > opt > alt > python36 > lib64 > python3.6 > idlelib > __pycache__ >


Operation   : Linux premium131.web-hosting.com 4.18.0-553.44.1.lve.el8.x86_64 #1 SMP Thu Mar 13 14:29:12 UTC 2025 x86_64
Software     : Apache
Server IP    : 162.0.232.56 | Your IP: 216.73.216.111
Domains      : 1034 Domain(s)
Permission   : [ 0755 ]

Files and Folders in: //opt/alt/python36/lib64/python3.6/idlelib/__pycache__/

NameTypeSizeLast ModifiedActions
__init__.cpython-36.opt-1.pyc File 509 bytes April 17 2024 17:19:40.
__init__.cpython-36.opt-2.pyc File 139 bytes April 17 2024 17:19:27.
__init__.cpython-36.pyc File 509 bytes April 17 2024 17:19:44.
__main__.cpython-36.opt-1.pyc File 270 bytes April 17 2024 17:19:40.
__main__.cpython-36.opt-2.pyc File 191 bytes April 17 2024 17:19:27.
__main__.cpython-36.pyc File 270 bytes April 17 2024 17:19:45.
_pyclbr.cpython-36.opt-1.pyc File 10427 bytes April 17 2024 17:19:40.
_pyclbr.cpython-36.opt-2.pyc File 6811 bytes April 17 2024 17:19:27.
_pyclbr.cpython-36.pyc File 10427 bytes April 17 2024 17:19:45.
autocomplete.cpython-36.opt-1.pyc File 7191 bytes April 17 2024 17:19:40.
autocomplete.cpython-36.opt-2.pyc File 5559 bytes April 17 2024 17:19:27.
autocomplete.cpython-36.pyc File 7191 bytes April 17 2024 17:19:45.
autocomplete_w.cpython-36.opt-1.pyc File 11067 bytes April 17 2024 17:19:40.
autocomplete_w.cpython-36.opt-2.pyc File 10315 bytes April 17 2024 17:19:27.
autocomplete_w.cpython-36.pyc File 11115 bytes April 17 2024 17:19:45.
autoexpand.cpython-36.opt-1.pyc File 2826 bytes April 17 2024 17:19:40.
autoexpand.cpython-36.opt-2.pyc File 2068 bytes April 17 2024 17:19:27.
autoexpand.cpython-36.pyc File 2826 bytes April 17 2024 17:19:45.
browser.cpython-36.opt-1.pyc File 9573 bytes April 17 2024 17:19:40.
browser.cpython-36.opt-2.pyc File 6987 bytes April 17 2024 17:19:27.
browser.cpython-36.pyc File 9573 bytes April 17 2024 17:19:45.
calltip.cpython-36.opt-1.pyc File 5610 bytes April 17 2024 17:19:40.
calltip.cpython-36.opt-2.pyc File 3981 bytes April 17 2024 17:19:27.
calltip.cpython-36.pyc File 5610 bytes April 17 2024 17:19:45.
calltip_w.cpython-36.opt-1.pyc File 6163 bytes April 17 2024 17:19:40.
calltip_w.cpython-36.opt-2.pyc File 5222 bytes April 17 2024 17:19:27.
calltip_w.cpython-36.pyc File 6163 bytes April 17 2024 17:19:45.
codecontext.cpython-36.opt-1.pyc File 8147 bytes April 17 2024 17:19:40.
codecontext.cpython-36.opt-2.pyc File 5157 bytes April 17 2024 17:19:27.
codecontext.cpython-36.pyc File 8182 bytes April 17 2024 17:19:44.
colorizer.cpython-36.opt-1.pyc File 8362 bytes April 17 2024 17:19:40.
colorizer.cpython-36.opt-2.pyc File 8195 bytes April 17 2024 17:19:27.
colorizer.cpython-36.pyc File 8362 bytes April 17 2024 17:19:45.
config.cpython-36.opt-1.pyc File 30507 bytes April 17 2024 17:19:40.
config.cpython-36.opt-2.pyc File 20324 bytes April 17 2024 17:19:27.
config.cpython-36.pyc File 30507 bytes April 17 2024 17:19:45.
config_key.cpython-36.opt-1.pyc File 13848 bytes April 17 2024 17:19:40.
config_key.cpython-36.opt-2.pyc File 12773 bytes April 17 2024 17:19:27.
config_key.cpython-36.pyc File 13848 bytes April 17 2024 17:19:45.
configdialog.cpython-36.opt-1.pyc File 77534 bytes April 17 2024 17:19:40.
configdialog.cpython-36.opt-2.pyc File 47761 bytes April 17 2024 17:19:27.
configdialog.cpython-36.pyc File 77534 bytes April 17 2024 17:19:45.
debugger.cpython-36.opt-1.pyc File 14219 bytes April 17 2024 17:19:40.
debugger.cpython-36.opt-2.pyc File 14060 bytes April 17 2024 17:19:27.
debugger.cpython-36.pyc File 14219 bytes April 17 2024 17:19:45.
debugger_r.cpython-36.opt-1.pyc File 13767 bytes April 17 2024 17:19:40.
debugger_r.cpython-36.opt-2.pyc File 11368 bytes April 17 2024 17:19:27.
debugger_r.cpython-36.pyc File 13893 bytes April 17 2024 17:19:45.
debugobj.cpython-36.opt-1.pyc File 5173 bytes April 17 2024 17:19:40.
debugobj.cpython-36.opt-2.pyc File 5165 bytes April 17 2024 17:19:27.
debugobj.cpython-36.pyc File 5173 bytes April 17 2024 17:19:45.
debugobj_r.cpython-36.opt-1.pyc File 2009 bytes April 17 2024 17:19:40.
debugobj_r.cpython-36.opt-2.pyc File 2001 bytes April 17 2024 17:19:27.
debugobj_r.cpython-36.pyc File 2009 bytes April 17 2024 17:19:45.
delegator.cpython-36.opt-1.pyc File 1276 bytes April 17 2024 17:19:40.
delegator.cpython-36.opt-2.pyc File 1168 bytes April 17 2024 17:19:27.
delegator.cpython-36.pyc File 1276 bytes April 17 2024 17:19:44.
dynoption.cpython-36.opt-1.pyc File 2287 bytes April 17 2024 17:19:40.
dynoption.cpython-36.opt-2.pyc File 1899 bytes April 17 2024 17:19:27.
dynoption.cpython-36.pyc File 2287 bytes April 17 2024 17:19:45.
editor.cpython-36.opt-1.pyc File 48421 bytes April 17 2024 17:19:40.
editor.cpython-36.opt-2.pyc File 46762 bytes April 17 2024 17:19:27.
editor.cpython-36.pyc File 48508 bytes April 17 2024 17:19:45.
filelist.cpython-36.opt-1.pyc File 3372 bytes April 17 2024 17:19:40.
filelist.cpython-36.opt-2.pyc File 3331 bytes April 17 2024 17:19:27.
filelist.cpython-36.pyc File 3398 bytes April 17 2024 17:19:45.
grep.cpython-36.opt-1.pyc File 6753 bytes April 17 2024 17:19:40.
grep.cpython-36.opt-2.pyc File 4904 bytes April 17 2024 17:19:27.
grep.cpython-36.pyc File 6753 bytes April 17 2024 17:19:45.
help.cpython-36.opt-1.pyc File 10289 bytes April 17 2024 17:19:40.
help.cpython-36.opt-2.pyc File 7549 bytes April 17 2024 17:19:27.
help.cpython-36.pyc File 10289 bytes April 17 2024 17:19:45.
help_about.cpython-36.opt-1.pyc File 7423 bytes April 17 2024 17:19:40.
help_about.cpython-36.opt-2.pyc File 6293 bytes April 17 2024 17:19:27.
help_about.cpython-36.pyc File 7423 bytes April 17 2024 17:19:45.
history.cpython-36.opt-1.pyc File 3397 bytes April 17 2024 17:19:40.
history.cpython-36.opt-2.pyc File 2164 bytes April 17 2024 17:19:27.
history.cpython-36.pyc File 3397 bytes April 17 2024 17:19:45.
hyperparser.cpython-36.opt-1.pyc File 6778 bytes April 17 2024 17:19:40.
hyperparser.cpython-36.opt-2.pyc File 5463 bytes April 17 2024 17:19:27.
hyperparser.cpython-36.pyc File 6778 bytes April 17 2024 17:19:45.
idle.cpython-36.opt-1.pyc File 335 bytes April 17 2024 17:19:40.
idle.cpython-36.opt-2.pyc File 327 bytes April 17 2024 17:19:27.
idle.cpython-36.pyc File 335 bytes April 17 2024 17:19:45.
iomenu.cpython-36.opt-1.pyc File 13772 bytes April 17 2024 17:19:40.
iomenu.cpython-36.opt-2.pyc File 13344 bytes April 17 2024 17:19:27.
iomenu.cpython-36.pyc File 13772 bytes April 17 2024 17:19:44.
macosx.cpython-36.opt-1.pyc File 7610 bytes April 17 2024 17:19:40.
macosx.cpython-36.opt-2.pyc File 5420 bytes April 17 2024 17:19:27.
macosx.cpython-36.pyc File 7610 bytes April 17 2024 17:19:44.
mainmenu.cpython-36.opt-1.pyc File 3806 bytes April 17 2024 17:19:40.
mainmenu.cpython-36.opt-2.pyc File 3327 bytes April 17 2024 17:19:27.
mainmenu.cpython-36.pyc File 3806 bytes April 17 2024 17:19:45.
multicall.cpython-36.opt-1.pyc File 15302 bytes April 17 2024 17:19:40.
multicall.cpython-36.opt-2.pyc File 12929 bytes April 17 2024 17:19:27.
multicall.cpython-36.pyc File 15359 bytes April 17 2024 17:19:45.
outwin.cpython-36.opt-1.pyc File 6120 bytes April 17 2024 17:19:40.
outwin.cpython-36.opt-2.pyc File 4428 bytes April 17 2024 17:19:27.
outwin.cpython-36.pyc File 6120 bytes April 17 2024 17:19:44.
paragraph.cpython-36.opt-1.pyc File 5940 bytes April 17 2024 17:19:40.
paragraph.cpython-36.opt-2.pyc File 4049 bytes April 17 2024 17:19:27.
paragraph.cpython-36.pyc File 5940 bytes April 17 2024 17:19:45.
parenmatch.cpython-36.opt-1.pyc File 6382 bytes April 17 2024 17:19:40.
parenmatch.cpython-36.opt-2.pyc File 4828 bytes April 17 2024 17:19:27.
parenmatch.cpython-36.pyc File 6382 bytes April 17 2024 17:19:45.
pathbrowser.cpython-36.opt-1.pyc File 3744 bytes April 17 2024 17:19:40.
pathbrowser.cpython-36.opt-2.pyc File 3595 bytes April 17 2024 17:19:27.
pathbrowser.cpython-36.pyc File 3744 bytes April 17 2024 17:19:45.
percolator.cpython-36.opt-1.pyc File 3512 bytes April 17 2024 17:19:40.
percolator.cpython-36.opt-2.pyc File 3504 bytes April 17 2024 17:19:27.
percolator.cpython-36.pyc File 3650 bytes April 17 2024 17:19:45.
pyparse.cpython-36.opt-1.pyc File 11674 bytes April 17 2024 17:19:40.
pyparse.cpython-36.opt-2.pyc File 8086 bytes April 17 2024 17:19:27.
pyparse.cpython-36.pyc File 12037 bytes April 17 2024 17:19:45.
pyshell.cpython-36.opt-1.pyc File 42727 bytes April 17 2024 17:19:40.
pyshell.cpython-36.opt-2.pyc File 40177 bytes April 17 2024 17:19:27.
pyshell.cpython-36.pyc File 42850 bytes April 17 2024 17:19:45.
query.cpython-36.opt-1.pyc File 10433 bytes April 17 2024 17:19:40.
query.cpython-36.opt-2.pyc File 8301 bytes April 17 2024 17:19:27.
query.cpython-36.pyc File 10433 bytes April 17 2024 17:19:45.
redirector.cpython-36.opt-1.pyc File 6759 bytes April 17 2024 17:19:40.
redirector.cpython-36.opt-2.pyc File 3319 bytes April 17 2024 17:19:27.
redirector.cpython-36.pyc File 6759 bytes April 17 2024 17:19:45.
replace.cpython-36.opt-1.pyc File 7083 bytes April 17 2024 17:19:40.
replace.cpython-36.opt-2.pyc File 6425 bytes April 17 2024 17:19:27.
replace.cpython-36.pyc File 7083 bytes April 17 2024 17:19:45.
rpc.cpython-36.opt-1.pyc File 19558 bytes April 17 2024 17:19:40.
rpc.cpython-36.opt-2.pyc File 16004 bytes April 17 2024 17:19:27.
rpc.cpython-36.pyc File 19645 bytes April 17 2024 17:19:45.
rstrip.cpython-36.opt-1.pyc File 1076 bytes April 17 2024 17:19:40.
rstrip.cpython-36.opt-2.pyc File 990 bytes April 17 2024 17:19:27.
rstrip.cpython-36.pyc File 1076 bytes April 17 2024 17:19:45.
run.cpython-36.opt-1.pyc File 15345 bytes April 17 2024 17:19:40.
run.cpython-36.opt-2.pyc File 13316 bytes April 17 2024 17:19:27.
run.cpython-36.pyc File 15388 bytes April 17 2024 17:19:45.
runscript.cpython-36.opt-1.pyc File 6478 bytes April 17 2024 17:19:40.
runscript.cpython-36.opt-2.pyc File 5269 bytes April 17 2024 17:19:27.
runscript.cpython-36.pyc File 6478 bytes April 17 2024 17:19:44.
scrolledlist.cpython-36.opt-1.pyc File 5385 bytes April 17 2024 17:19:40.
scrolledlist.cpython-36.opt-2.pyc File 5377 bytes April 17 2024 17:19:27.
scrolledlist.cpython-36.pyc File 5385 bytes April 17 2024 17:19:45.
search.cpython-36.opt-1.pyc File 3541 bytes April 17 2024 17:19:40.
search.cpython-36.opt-2.pyc File 3281 bytes April 17 2024 17:19:27.
search.cpython-36.pyc File 3541 bytes April 17 2024 17:19:45.
searchbase.cpython-36.opt-1.pyc File 7977 bytes April 17 2024 17:19:40.
searchbase.cpython-36.opt-2.pyc File 5209 bytes April 17 2024 17:19:27.
searchbase.cpython-36.pyc File 7977 bytes April 17 2024 17:19:45.
searchengine.cpython-36.opt-1.pyc File 6840 bytes April 17 2024 17:19:40.
searchengine.cpython-36.opt-2.pyc File 5182 bytes April 17 2024 17:19:27.
searchengine.cpython-36.pyc File 6840 bytes April 17 2024 17:19:44.
squeezer.cpython-36.opt-1.pyc File 9907 bytes April 17 2024 17:19:40.
squeezer.cpython-36.opt-2.pyc File 6713 bytes April 17 2024 17:19:27.
squeezer.cpython-36.pyc File 9944 bytes April 17 2024 17:19:45.
stackviewer.cpython-36.opt-1.pyc File 5055 bytes April 17 2024 17:19:40.
stackviewer.cpython-36.opt-2.pyc File 5047 bytes April 17 2024 17:19:27.
stackviewer.cpython-36.pyc File 5055 bytes April 17 2024 17:19:44.
statusbar.cpython-36.opt-1.pyc File 1945 bytes April 17 2024 17:19:40.
statusbar.cpython-36.opt-2.pyc File 1937 bytes April 17 2024 17:19:27.
statusbar.cpython-36.pyc File 1945 bytes April 17 2024 17:19:45.
textview.cpython-36.opt-1.pyc File 6437 bytes April 17 2024 17:19:40.
textview.cpython-36.opt-2.pyc File 4856 bytes April 17 2024 17:19:27.
textview.cpython-36.pyc File 6437 bytes April 17 2024 17:19:45.
tooltip.cpython-36.opt-1.pyc File 6566 bytes April 17 2024 17:19:40.
tooltip.cpython-36.opt-2.pyc File 4936 bytes April 17 2024 17:19:27.
tooltip.cpython-36.pyc File 6566 bytes April 17 2024 17:19:45.
tree.cpython-36.opt-1.pyc File 14276 bytes April 17 2024 17:19:40.
tree.cpython-36.opt-2.pyc File 13495 bytes April 17 2024 17:19:27.
tree.cpython-36.pyc File 14276 bytes April 17 2024 17:19:45.
undo.cpython-36.opt-1.pyc File 10780 bytes April 17 2024 17:19:40.
undo.cpython-36.opt-2.pyc File 10772 bytes April 17 2024 17:19:27.
undo.cpython-36.pyc File 10780 bytes April 17 2024 17:19:44.
window.cpython-36.opt-1.pyc File 3156 bytes April 17 2024 17:19:40.
window.cpython-36.opt-2.pyc File 3148 bytes April 17 2024 17:19:27.
window.cpython-36.pyc File 3156 bytes April 17 2024 17:19:45.
zoomheight.cpython-36.opt-1.pyc File 1402 bytes April 17 2024 17:19:40.
zoomheight.cpython-36.opt-2.pyc File 1345 bytes April 17 2024 17:19:27.
zoomheight.cpython-36.pyc File 1402 bytes April 17 2024 17:19:45.
zzdummy.cpython-36.opt-1.pyc File 1206 bytes April 17 2024 17:19:40.
zzdummy.cpython-36.opt-2.pyc File 1130 bytes April 17 2024 17:19:27.
zzdummy.cpython-36.pyc File 1206 bytes April 17 2024 17:19:45.

Reading File: //opt/alt/python36/lib64/python3.6/idlelib/__pycache__//debugger_r.cpython-36.pyc

3

� fl/�@s�dZddlZddlmZdZdadZiZiZiZ	iZ
dd�Zdd	�ZGd
d�d�Z
Gdd
�d
�Zdd�ZGdd�d�ZGdd�d�ZGdd�d�ZGdd�d�ZGdd�d�Zdd�Zdd�Zdd�Zd d!�Zed"kr�dd#lmZed$d%d&d'�dS)(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_adaptercCst|�}|t|<|S)N)�id�
frametable)�frame�fid�r�7/opt/alt/python36/lib64/python3.6/idlelib/debugger_r.py�
wrap_frame(sr
cCsN|dkrdS|d}t|tj�s$t�t|�}|t|<|d|d|f}|SdS)z0replace info[2], a traceback instance, by its IDN�r�)�
isinstance�types�
TracebackType�AssertionErrorr�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)rr#rrr	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>)rrr#�	get_stack)rr�tbidr�tb�stack�irrr	r,^szIdbAdapter.get_stackcCsddl}|jj||j�dS)Nr)�__main__r#�run�__dict__)r�cmdr1rrr	r2hszIdbAdapter.runcCs|jj||�}|S)N)r#�	set_break)r�filename�lineno�msgrrr	r5lszIdbAdapter.set_breakcCs|jj||�}|S)N)r#�clear_break)rr6r7r8rrr	r9pszIdbAdapter.clear_breakcCs|jj|�}|S)N)r#�clear_all_file_breaks)rr6r8rrr	r:ts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@rArrr	�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)rF�co_name)rrHrGrrr	�	code_name�szIdbAdapter.code_namecCst|}|jS)N)rF�co_filename)rrHrGrrr	�
code_filename�szIdbAdapter.code_filenamecCstd��dS)Nz"dict_keys not public or pickleable)�NotImplementedError)rrArrr	�	dict_keys�szIdbAdapter.dict_keyscCst|}t|j��S)N)r?�list�keys)rrAr@rrr	�dict_keys_list�szIdbAdapter.dict_keys_listcCst|}||}t|�}|S)N)r?�repr)rrA�keyr@�valuerrr	�	dict_item�szIdbAdapter.dict_itemN)rr r!rr$r%r&r'r(r,r2r5r9r:r=rBrDrIrKrMrOrRrVrrrr	r"Fs(
	r"cCs,t||�}tj|�}t|�}|jt|�tS)a|Start the debugger and its RPC link in the Python subprocess

    Start the subprocess side of the split debugger and set up that side of the
    RPC link by instantiating the GUIProxy, Idb debugger, and IdbAdapter
    objects and linking them together.  Register the IdbAdapter with the
    RPCServer to handle RPC requests from the split debugger GUI via the
    IdbProxy.

    )rrZIdbr"�register�idb_adap_oid)Z
rpchandlerrZ	gui_proxyr#Zidb_adaprrr	�start_debugger�s



rYc@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�_rEr>rCr=)�AttributeError�_get_f_code�_get_f_globals�
_get_f_localsr[rr]r\)rr<rrr	�__getattr__�szFrameProxy.__getattr__cCs(|jj|jd|jfi�}t|j|j|�S)NrI)r[rr]r\�	CodeProxy)rrHrrr	ra�szFrameProxy._get_f_codecCs"|jj|jd|jfi�}|j|�S)NrB)r[rr]r\�_get_dict_proxy)rrArrr	rb�szFrameProxy._get_f_globalscCs"|jj|jd|jfi�}|j|�S)NrD)r[rr]r\rf)rrArrr	rc�szFrameProxy._get_f_localscCs2||jkr|j|St|j|j|�}||j|<|S)N)r^�	DictProxyr[r])rrAZdprrr	rf�s



zFrameProxy._get_dict_proxyN)	rr r!rrdrarbrcrfrrrr	rZ�srZc@seZdZdd�Zdd�ZdS)recCs||_||_||_dS)N)r[r]�_cid)rrrrHrrr	r�szCodeProxy.__init__cCsD|dkr |jj|jd|jfi�S|dkr@|jj|jd|jfi�SdS)NrJrKrLrM)r[rr]rh)rr<rrr	rd�szCodeProxy.__getattr__N)rr r!rrdrrrr	re�srec@s,eZdZdd�Zdd�Zdd�Zdd�Zd	S)
rgcCs||_||_||_dS)N)r[r]�_did)rrrrArrr	rszDictProxy.__init__cCs|jj|jd|jfi�S)NrR)r[rr]ri)rrrr	rQs
zDictProxy.keyscCs|jj|jd|j|fi�S)NrV)r[rr]ri)rrTrrr	�__getitem__szDictProxy.__getitem__cCst|��dS)N)r`)rr<rrr	rdszDictProxy.__getattr__N)rr r!rrQrjrdrrrr	rgs	rgc@seZdZdd�Zdd�ZdS)�
GUIAdaptercCs||_||_dS)N)r�gui)rrrlrrr	rszGUIAdapter.__init__cCs t|j|�}|jj|||�dS)N)rZrrlr)rrrrrrrr	r!szGUIAdapter.interactionN)rr r!rrrrrr	rksrkc@sleZdZdd�Zdd�Zdd�Zdd�Zd	d
�Zdd�Zd
d�Z	dd�Z
dd�Zdd�Zdd�Z
dd�ZdS)�IdbProxycCs||_||_||_dS)N)rr�shell)rrrnrrrr	r)szIdbProxy.__init__cOs|jj|j|||�}|S)N)rrr)rZ
methodname�args�kwargsrUrrr	�call.sz
IdbProxy.callcCs$|jj|jd|fi�}||jj_dS)Nr2)rZ
asyncqueuerrnZinterpZ
active_seq)rr4�locals�seqrrr	r24szIdbProxy.runcs.�jd|j|�\}}�fdd�|D�}||fS)Nr,cs g|]\}}t�j|�|f�qSr)rZr)r)rr*)rrr	r+<sz&IdbProxy.get_stack.<locals>.<listcomp>)rqr\)rrr-r/r0r)rr	r,9szIdbProxy.get_stackcCs|jd�dS)Nr&)rq)rrrr	r&?szIdbProxy.set_continuecCs|jd�dS)Nr$)rq)rrrr	r$BszIdbProxy.set_stepcCs|jd|j�dS)Nr')rqr\)rrrrr	r'EszIdbProxy.set_nextcCs|jd|j�dS)Nr()rqr\)rrrrr	r(HszIdbProxy.set_returncCs|jd�dS)Nr%)rq)rrrr	r%KszIdbProxy.set_quitcCs|jd||�}|S)Nr5)rq)rr6r7r8rrr	r5NszIdbProxy.set_breakcCs|jd||�}|S)Nr9)rq)rr6r7r8rrr	r9RszIdbProxy.clear_breakcCs|jd|�}|S)Nr:)rq)rr6r8rrr	r:VszIdbProxy.clear_all_file_breaksN)rr r!rrqr2r,r&r$r'r(r%r5r9r:rrrr	rm'srmcCsD|jddtfi�at||t�}tj||�}t||�}|jt|�|S)a]Start the subprocess debugger, initialize the debugger GUI and RPC link

    Request the RPCServer start the Python subprocess debugger and link.  Set
    up the Idle side of the split debugger by instantiating the IdbProxy,
    debugger GUI, and debugger GUIAdapter objects and linking them together.

    Register the GUIAdapter with the RPCClient to handle debugger GUI
    interaction requests coming from the subprocess debugger via the GUIProxy.

    The IdbAdapter will pass execution and environment requests coming from the
    Idle debugger GUI to the subprocess debugger via the IdbProxy.

    �exec�start_the_debugger)rrrXrmrZDebuggerrkrW)�rpccltZpyshellZ	idb_proxyrlZgui_adaprrr	�start_remote_debuggerZs

rwcCst|�|jt�dS)a]Shut down subprocess debugger and Idle side of debugger RPC link

    Request that the RPCServer shut down the subprocess debugger and link.
    Unregister the GUIAdapter, which will cause a GC on the Idle process
    debugger and RPC link objects.  (The second reference to the debugger GUI
    is deleted in pyshell.close_remote_debugger().)

    N)�close_subprocess_debuggerZ
unregisterr)rvrrr	�close_remote_debuggerrs	rycCs|jddtfi�dS)NrtZstop_the_debugger)rrX)rvrrr	rx~srxcCs&|jddtfi�}|tks"td��dS)Nrtruz Idb restarted with different oid)rrrXr)rvZidb_adap_oid_retrrr	�restart_subprocess_debugger�s
rzr1)�mainzidlelib.idle_test.test_debuggerrF)�	verbosity�exit)�__doc__rZidlelibrZ	debuggingrXrrr?rFrr
rrr"rYrZrergrkrmrwryrxrzrZunittestr{rrrr	�<module>s4
m*3

SILENT KILLER Tool