Hacked By AnonymousFox

Current Path : /opt/alt/python37/lib64/python3.7/idlelib/__pycache__/
Upload File :
Current File : //opt/alt/python37/lib64/python3.7/idlelib/__pycache__/debugger.cpython-37.opt-1.pyc

B

� f�J�@s�ddlZddlZddlTddlmZmZddlmZddlm	Z	ddl
mZGdd�dej�Z
Gd	d
�d
�ZGdd�de	�ZGd
d�d�Zedkr�ddlmZedddd�dS)�N)�*)�Frame�	Scrollbar)�macosx)�ScrolledList)�ListedToplevelc@s4eZdZdd�Zdd�Zdd�Zdd�Zd	d
�ZdS)�IdbcCs||_tj�|�dS)N)�gui�bdb�Bdb�__init__)�selfr	�r�5/opt/alt/python37/lib64/python3.7/idlelib/debugger.pyrszIdb.__init__cCsL|�|�r|��dS|�|�}y|j�||�Wntk
rFYnXdS)N)�in_rpc_code�set_step�_Idb__frame2messager	�interactionZTclError)r
�frame�messagerrr�	user_lines

z
Idb.user_linecCs4|�|�r|��dS|�|�}|j�|||�dS)N)rrrr	r)r
r�inforrrr�user_exceptions


zIdb.user_exceptioncCsB|jj�d�rdS|j}|jj}d|kr4d|kr4dS|�|�SdS)Nzrpc.pyT�idlelibZdebuggerF)�f_code�co_filename�count�f_backr)r
rZ
prev_frameZ	prev_namerrrr#szIdb.in_rpc_codecCsF|j}|j}|j}tj�|�}d||f}|jdkrBd||jf}|S)Nz%s:%s�?z%s: %s())rr�f_lineno�os�path�basename�co_name)r
r�code�filename�linenor"rrrrZ__frame2message/s
zIdb.__frame2messageN)�__name__�
__module__�__qualname__rrrrrrrrrrs

rc@s�eZdZdZZZZd1dd�Zdd�Zd2dd�Z	dd	�Z
d3d
d�Zdd
�Zdd�Z
dd�Zdd�Zdd�Zdd�Zdd�Zdd�ZdZdd�Zdd�Zd d!�ZdZdZd"d#�Zd$d%�Zd4d'd(�Zd)d*�Zd+d,�Zd-d.�Zd/d0�Z dS)5�DebuggerNcCs:|dkrt|�}||_||_d|_|��d|_d|_dS)Nr)r�pyshell�idbr�make_gui�interacting�
nesting_level)r
r+r,rrrr>szDebugger.__init__csN�jdkr.����j�d��fdd��dSzd�_�jj��Sd�_XdS)Nr�dcs
�j��S)N)�runr)�argsr
rr�<lambda>h�zDebugger.run.<locals>.<lambda>�)r/�
abort_loop�rootZafterr.r,r1)r
r2r)r2r
rr1Hs
zDebugger.runcCsdy|��Wntk
r YnX|jr6|j��dS|jrL|j��d|_|j��|j�	�dS)N)
�quit�	Exceptionr.�topZbell�stackviewer�closer+Zclose_debugger�destroy)r
�eventrrrr<ps


zDebugger.closecCsF|j}|j|_|j|_}t|�|_}|j�d�|j�d�|�d|j�|j�	d|j�t
|�|_}|jjdd�g|_
}t|d|jd�|_}|�|�t|d	|jd�|_}|�|�t|d
|jd�|_}|�|�t|d|jd�|_}|�|�t|d|jd�|_}|�|�x&|D]}|jd
d�|jdd��q*Wt
|�|_}|jjdd�|j�s�t|�|j_|j�d�t|d|j |jd�|_!|j!j"ddd�|j#�s�t|�|j_#t|d|j$|j#d�|_%|j%j"ddd�|j&�st|�|j_&|j&�d�t|d|j'|j&d�|_(|j(j"ddd�|j)�sBt|�|j_)t|d|j*|j)d�|_+|j+j"ddd�t,|dd�|_-|j-jdd�t,|dd�|_.|j.jddd�|j.�/d�|_0t
|dd�|_1|j1jddd�t
|�|_2|j2jddd�t
|dd�|_3|j3jddd�|j�4��r|� �|j&�4��r.|�'�|j)�4��rB|�*�dS)Nz
Debug ControlZDebugZWM_DELETE_WINDOWz<Escape>�w)�anchorZGo)�text�commandZStepZOverZOutZQuit�disabled)�state�left)�sider5ZStack)rArBZvariabler)�row�columnZSource�Locals�Globals�x)r@�fill�
background)�height�both)�expandrL)5r+�flistr7rr:Zwm_titleZwm_iconnameZwm_protocolr<Zbindr�bframe�pack�buttonsZButton�contZbcont�append�stepZbstep�nextZbnext�retZbretr8�	configure�cframe�vstackZ
BooleanVar�	__class__�setZCheckbutton�
show_stackZbstack�grid�vsource�show_sourceZbsource�vlocals�show_localsZblocals�vglobals�show_globalsZbglobals�Label�status�errorZcget�errorbg�fstack�flocals�fglobals�get)r
r+r7r:rRZbl�br[rrrr-�s�







zDebugger.make_guic
Cs|||_|jj|d�|r~|\}}}y
|j}Wn tk
rLdt|�}YnX|dk	rxyd|t|�f}WnYnXd}nd}d}|j}|jj||d�|j}	|	r�|j	�
|j|�\}
}|	�|
|�|�d�|j
��r�|��x|jD]}|jdd	�q�W|j��|jd7_|jj�d
d�|jd8_x|jD]}|jdd	��q<W|jjdd�|jjd|jd�d|_dS)
N)rAz%sz%s: %sZyellow�)rArMr5Znormal)rDZvwaitz::idledebugwaitrC)rrhrZr'�AttributeError�strrjrir;r,�	get_stack�
load_stack�show_variablesrarn�sync_source_linerTr:�wakeupr/r7�tk�call)
r
rrr�type�value�tbZm1Zbg�sv�stack�irorrrr�sH




zDebugger.interactioncCsV|j}|sdS|�|�\}}|dd�|dd�dkrRtj�|�rR|j�||�dS)Nr5���z<>)r�_Debugger__frame2fileliner r!�existsrQZgotofileline)r
rr%r&rrrrv�s(zDebugger.sync_source_linecCs|j}|j}|j}||fS)N)rrr)r
rr$r%r&rrrZ__frame2filelineszDebugger.__frame2filelinecCs|j��|��dS)N)r,Zset_continuer6)r
rrrrUs
z
Debugger.contcCs|j��|��dS)N)r,rr6)r
rrrrWs
z
Debugger.stepcCs|j�|j�|��dS)N)r,Zset_nextrr6)r
rrrrXsz
Debugger.nextcCs|j�|j�|��dS)N)r,Z
set_returnrr6)r
rrrrYszDebugger.retcCs|j��|��dS)N)r,Zset_quitr6)r
rrrr8s
z
Debugger.quitcCs|jj�ddd�dS)Nr^z::idledebugwait�1)r7rxry)r
rrrr6szDebugger.abort_loopcCs~|jsN|j��rNt|j|j|�|_}|jrz|j�|jd�\}}|�	||�n,|j}|rp|j��spd|_|�
�d|jd<dS)Nr5rN)r;r\rn�StackViewerrkrQrr,rsrtr<)r
r}r~rrrrr_$szDebugger.show_stackcCs|j��r|��dS)N)rarnrv)r
rrrrb1s
zDebugger.show_sourcecCs|d|_|��dS)Nr)rru)r
Z	stackitemrrr�
show_frame5s
zDebugger.show_framecCsL|j}|j��r$|s@t|jd�|_n|r@d|_|��d|jd<|��dS)NrIr5rN)�localsviewerrcrn�NamespaceViewerrlr<ru)r
�lvrrrrd<s

zDebugger.show_localscCsL|j}|j��r$|s@t|jd�|_n|r@d|_|��d|jd<|��dS)NrJr5rN)�
globalsviewerrernr�rmr<ru)r
�gvrrrrfHs

zDebugger.show_globalsrcCst|j}|j}|j}|s d}}n |j}|j}|r@|r@||kr@d}|rX|�|||jjj�|rp|�|||jjj�dS)N)	r�r�r�f_locals�	f_globals�	load_dictr+ZinterpZrpcclt)r
�forcer�r�rZldictZgdictrrrruTs
zDebugger.show_variablescCs|j�||�dS)N)r,Z	set_break)r
r%r&rrr�set_breakpoint_heredszDebugger.set_breakpoint_herecCs|j�||�dS)N)r,Zclear_break)r
r%r&rrr�clear_breakpoint_heregszDebugger.clear_breakpoint_herecCs|j�|�dS)N)r,Zclear_all_file_breaks)r
r%rrr�clear_file_breaksjszDebugger.clear_file_breaksc	CsXxR|jjjD]D}|jj}y x|jD]}|�||�q"WWqtk
rNwYqXqWdS)z=Load PyShellEditorWindow breakpoints into subprocess debuggerN)r+rQZinversedict�ior%Zbreakpointsr�rq)r
Zeditwinr%r&rrr�load_breakpointsmszDebugger.load_breakpoints)N)N)N)r)!r'r(r)r\rarcrerr1r<r-rrvr�rUrWrXrYr8r6r;r_rbr�r�r�rdrfrur�r�r�r�rrrrr*:s6

(
K
1

r*c@sVeZdZdd�Zddd�Zdd�Zdd	�Zd
d�Zdd
�Zdd�Z	dd�Z
dd�ZdS)r�cCs<t��rt�||�ntj||dd�||_||_g|_dS)N�P)�width)rZisAquaTkrrrQr	r~)r
�masterrQr	rrrryszStackViewer.__init__Nc
Cs�||_|��x�tt|��D]�}||\}}y|jd}Wnd}YnX|j}|j}|j}	ddl}
|
�	||�}|�
�}|	dkr�d|||f}nd||	||f}||kr�d|}|�|�qW|dk	r�|�|�dS)Nr'rr)rrpNz%s, line %d: %sz%s.%s(), line %d: %sz> )
r~�clear�range�lenr�rrr#�	linecache�getline�striprVZselect)
r
r~�indexrrr&�modnamer$r%�funcnamer�Z
sourceline�itemrrrrt�s.

zStackViewer.load_stackcCs|jrt�||�SdS)zoverride base methodN)r~r�popup_event)r
r>rrrr��szStackViewer.popup_eventcCs*|j}|jd|jd�|jd|jd�dS)zoverride base methodzGo to source line)�labelrBzShow stack frameN)�menuZadd_command�goto_source_line�show_stack_frame)r
r�rrr�	fill_menu�s

zStackViewer.fill_menucCs4d|krt|j�kr0nn|j�|j|�dS)zoverride base methodrN)r�r~r	r�)r
r�rrr�	on_select�szStackViewer.on_selectcCs|�|�dS)zoverride base methodN)rb)r
r�rrr�	on_double�szStackViewer.on_doublecCs|j�d�}|�|�dS)N�active)�listboxr�rb)r
r�rrrr��szStackViewer.goto_source_linecCs@|j�d�}d|kr&t|j�kr<nn|j�|j|�dS)Nr�r)r�r�r�r~r	r�)r
r�rrrr��szStackViewer.show_stack_framecCsdd|krt|j�ks ndS|j|\}}|j}|j}tj�|�r`|j�|�}|r`|�	|�dS)Nr)
r�r~rrr r!�isfilerQ�openZgotoline)r
r�rr&r$r%Zeditrrrrb�szStackViewer.show_source)N)r'r(r)rrtr�r�r�r�r�r�rbrrrrr�ws
r�c@s,eZdZd
dd�ZdZddd�Zdd	�ZdS)r�NcCs d}d}|rdt|�}||_||_ddl}|��|_d|j_d|j_t|�|_	}|j	j
ddd�t||dd	d
�|_|jj
dd�t
|d
d�|_}|j
ddd�t|tdtd|��dd||fd�|_}	|	j
dddd�|	j|d<|j|	d<t|	�|_}
|	jdd|
dd�|_|�|�dS)Nr�(��<r5rO)rPrL�Zgroove)rA�borderwidthZreliefrK)rL�vbar)�name�right�y)rFrLi,)rN�scrollregionrE)rFrLrPrBZyscrollcommand�nw)Zwindowr@)r�r��title�reprlib�Repr�repr�	maxstring�maxotherrrrSrgr�rr�ZCanvas�min�max�canvasZyviewr^�subframeZ
create_windowZsfidr�)r
r�r��dictr�rNr�rr�r�r�rrrr�s2


zNamespaceViewer.__init__r�rcCsf||jkr|sdS|j}|j}xt|j���D]}|��q.Wd|_|sdt|dd�}|jddd�n�|�	�}t
|�}	d}
x~|	D]v}||}|j�|�}
|r�|
dd�}
t||d�}|j|
ddd�t|ddd	�}|�
d|
�|j|
ddd�|
d}
q~W||_|��|��}|��}|j}dd||f|jd
<|dk�rNd|d<|jdd
�n||d<|jdd
�dS)N�None)rAr)rGrHr5r�r�)rGrHZsticky)r�r�r�i,rN)rP)r�r�r�listZchildren�valuesr=rgr`�keys�sortedr�ZEntry�insertZupdate_idletasksZwinfo_reqwidthZwinfo_reqheightr�rS)r
r�r�Z
rpc_clientr�r�c�lZ	keys_list�namesrGr�r{Zsvaluer�rNr�rrrr��sF


zNamespaceViewer.load_dictcCs|j��dS)N)rr=)r
rrrr<szNamespaceViewer.close)N)rN)r'r(r)rr�r�r<rrrrr��s

6r��__main__)�mainzidlelib.idle_test.test_debuggerr�F)�	verbosity�exit)r
r ZtkinterZtkinter.ttkrrrrZidlelib.scrolledlistrZidlelib.windowrrrr*r�r�r'Zunittestr�rrrr�<module>s.?SX

Hacked By AnonymousFox1.0, Coded By AnonymousFox