%PDF- %PDF-
Mini Shell

Mini Shell

Direktori : /usr/local/lib/python3.8/idlelib/__pycache__/
Upload File :
Create Path :
Current File : //usr/local/lib/python3.8/idlelib/__pycache__/debugger.cpython-38.pyc

U

qaJ@sddlZddlZddlTddlmZmZddlmZddlm	Z	ddl
mZGdddejZ
Gd	d
d
ZGddde	ZGd
ddZedkrddlmZedddddS)N)*)Frame	Scrollbar)macosx)ScrolledList)ListedToplevelc@s4eZdZddZddZddZddZd	d
ZdS)IdbcCs||_tj|dSN)guibdbBdb__init__)selfr
r,/usr/local/lib/python3.8/idlelib/debugger.pyr
szIdb.__init__cCsL||r|dS||}z|j||Wntk
rFYnXdSr	)in_rpc_codeset_step_Idb__frame2messager
interactionZTclError)rframemessagerrr	user_lines

z
Idb.user_linecCs4||r|dS||}|j|||dSr	)rrrr
r)rrinforrrruser_exceptions


zIdb.user_exceptioncCsB|jjdrdS|j}|jj}d|kr4d|kr4dS||SdS)Nzrpc.pyTidlelibZdebuggerF)f_codeco_filenamecountf_backr)rrZ
prev_frameZ	prev_namerrrr#szIdb.in_rpc_codecCsF|j}|j}|j}tj|}d||f}|jdkrBd||jf}|S)Nz%s:%s?z%s: %s())rrf_linenoospathbasenameco_name)rrcodefilenamelinenor#rrrrZ__frame2message/s
zIdb.__frame2messageN)__name__
__module____qualname__r
rrrrrrrrrs

rc@seZdZdZZZZd1ddZddZd2ddZ	dd	Z
d3d
dZdd
ZddZ
ddZddZddZddZddZddZdZddZddZd d!ZdZdZd"d#Zd$d%Zd4d'd(Zd)d*Zd+d,Zd-d.Zd/d0Z dS)5DebuggerNcCs:|dkrt|}||_||_d|_|d|_d|_dSNr)rpyshellidbrmake_guiinteracting
nesting_level)rr-r.rrrr
>szDebugger.__init__csRjdkr.jdfdddSzd_jjWSd_XdS)Nrdcs
jSr	)runrargsrrr<lambda>hzDebugger.run.<locals>.<lambda>)r1
abort_looprootZafterr0r.r3)rr5rr4rr3Hs
zDebugger.runcCsdz|Wntk
r YnX|jr6|jdS|jrL|jd|_|j|j	dSr	)
quit	Exceptionr0topZbellstackviewercloser-Zclose_debuggerdestroyreventrrrr?ps


zDebugger.closecCsB|j}|j|_|j|_}t||_}|jd|jd|d|j|j	d|jt
||_}|jjddg|_
}t|d|jd|_}||t|d	|jd|_}||t|d
|jd|_}||t|d|jd|_}||t|d|jd|_}|||D]}|jd
d|jddq(t
||_}|jjdd|jst||j_|jdt|d|j |jd|_!|j!j"ddd|j#st||j_#t|d|j$|j#d|_%|j%j"ddd|j&st||j_&|j&dt|d|j'|j&d|_(|j(j"ddd|j)s>t||j_)t|d|j*|j)d|_+|j+j"dddt,|dd|_-|j-jddt,|dd|_.|j.jddd|j./d|_0t
|dd|_1|j1jdddt
||_2|j2jdddt
|dd|_3|j3jddd|j4r| |j&4r*|'|j)4r>|*dS)Nz
Debug ControlZDebugZWM_DELETE_WINDOWz<Escape>w)anchorZGo)textcommandZStepZOverZOutZQuitdisabledstateleft)sider8ZStack)rErFvariablerrowcolumnZSourceLocalsGlobalsx)rDfill
background)heightbothexpandrS)5r-flistr:rr=Zwm_titleZwm_iconnameZwm_protocolr?bindrbframepackbuttonsZButtoncontZbcontappendstepZbstepnextZbnextretZbretr;	configurecframevstackZ
BooleanVar	__class__setZCheckbutton
show_stackZbstackgridvsourceshow_sourceZbsourcevlocalsshow_localsZblocalsvglobalsshow_globalsZbglobalsLabelstatuserrorZcgeterrorbgfstackflocalsfglobalsget)rr-r:r=r[Zblbrdrrrr/s






zDebugger.make_guic
Cst||_|jj|d|r~|\}}}z
|j}Wn tk
rLdt|}YnX|dk	rxzd|t|f}WnYnXd}nd}d}|j}|jj||d|j}	|	r|j	
|j|\}
}|	|
||d|j
r||jD]}|jdd	q|j|jd7_|jjd
d|jd8_|jD]}|jdd	q6|jjdd|jjd|jdd|_dS)
NrEz%sz%s: %sZyellow)rErTr8ZnormalrHZvwait::idledebugwaitrG)rrqrcr(AttributeErrorstrrsrrr>r.	get_stack
load_stackshow_variablesrjrwsync_source_liner]r=wakeupr1r:tkcall)
rrrrtypevaluetbZm1bgsvstackirxrrrrsH






zDebugger.interactioncCsV|j}|sdS||\}}|dd|dddkrRtj|rR|j||dS)Nr8z<>)r_Debugger__frame2fileliner!r"existsrYZgotofileline)rrr&r'rrrrs(zDebugger.sync_source_linecCs|j}|j}|j}||fSr	)rrr )rrr%r&r'rrrZ__frame2filelineszDebugger.__frame2filelinecCs|j|dSr	)r.Zset_continuer9rrrrr^s
z
Debugger.contcCs|j|dSr	)r.rr9rrrrr`s
z
Debugger.stepcCs|j|j|dSr	)r.Zset_nextrr9rrrrrasz
Debugger.nextcCs|j|j|dSr	)r.Z
set_returnrr9rrrrrbszDebugger.retcCs|j|dSr	)r.Zset_quitr9rrrrr;s
z
Debugger.quitcCs|jjddddS)Nrgr{1)r:rrrrrrr9szDebugger.abort_loopcCs~|jsN|jrNt|j|j||_}|jrz|j|jd\}}|	||n,|j}|rp|jspd|_|
d|jd<dS)Nr8rU)r>rerwStackViewerrtrYrr.r~rr?)rrrrrrrrh$szDebugger.show_stackcCs|jr|dSr	)rjrwrrrrrrk1s
zDebugger.show_sourcecCs|d|_|dSr,)rr)rZ	stackitemrrr
show_frame5s
zDebugger.show_framecCsL|j}|jr$|s@t|jd|_n|r@d|_|d|jd<|dS)NrPr8rU)localsviewerrlrwNamespaceViewerrur?r)rlvrrrrm<s

zDebugger.show_localscCsL|j}|jr$|s@t|jd|_n|r@d|_|d|jd<|dS)NrQr8rU)
globalsviewerrnrwrrvr?r)rgvrrrroHs

zDebugger.show_globalsrcCst|j}|j}|j}|s d}}n |j}|j}|r@|r@||kr@d}|rX||||jjj|rp||||jjjdSr	)	rrrf_locals	f_globals	load_dictr-ZinterpZrpcclt)rforcerrrZldictZgdictrrrrTs
zDebugger.show_variablescCs|j||dSr	)r.Z	set_breakrr&r'rrrset_breakpoint_heredszDebugger.set_breakpoint_herecCs|j||dSr	)r.Zclear_breakrrrrclear_breakpoint_heregszDebugger.clear_breakpoint_herecCs|j|dSr	)r.Zclear_all_file_breaks)rr&rrrclear_file_breaksjszDebugger.clear_file_breaksc	CsR|jjjD]B}|jj}z|jD]}|||qWq
tk
rJYq
Yq
Xq
dS)z=Load PyShellEditorWindow breakpoints into subprocess debuggerN)r-rYZinversedictior&Zbreakpointsrr|)rZeditwinr&r'rrrload_breakpointsms
zDebugger.load_breakpoints)N)N)N)r)!r(r)r*rerjrlrnr
r3r?r/rrrr^r`rarbr;r9r>rhrkrrrrmrorrrrrrrrrr+:s6

(
K
1

r+c@sVeZdZddZdddZddZdd	Zd
dZdd
ZddZ	ddZ
ddZdS)rcCs<trt||ntj||dd||_||_g|_dS)NP)width)rZisAquaTkrr
rYr
r)rmasterrYr
rrrr
yszStackViewer.__init__Nc
Cs||_|tt|D]}||\}}z|jd}Wnd}YnX|j}|j}|j}	ddl}
|
	||}|
}|	dkrd|||f}nd||	||f}||krd|}||q|dk	r||dS)Nr(rr)rrzNz%s, line %d: %sz%s.%s(), line %d: %sz> )
rclearrangelenrrrr$	linecachegetlinestripr_select)
rrindexrrr'modnamer%r&funcnamerZ
sourcelineitemrrrrs2
zStackViewer.load_stackcCs|jrt||SdSoverride base methodN)rrpopup_eventrArrrrszStackViewer.popup_eventcCs*|j}|jd|jd|jd|jddS)rzGo to source line)labelrFzShow stack frameN)menuZadd_commandgoto_source_lineshow_stack_frame)rrrrr	fill_menuszStackViewer.fill_menucCs4d|krt|jkr0nn|j|j|dS)rrN)rrr
rrrrrr	on_selectszStackViewer.on_selectcCs||dSr)rkrrrr	on_doubleszStackViewer.on_doublecCs|jd}||dS)Nactive)listboxrrkrrrrrszStackViewer.goto_source_linecCs@|jd}d|kr&t|jkr<nn|j|j|dS)Nrr)rrrrr
rrrrrrszStackViewer.show_stack_framecCsdd|krt|jks ndS|j|\}}|j}|j}tj|r`|j|}|r`|	|dSr,)
rrrrr!r"isfilerYopenZgotoline)rrrr'r%r&ZeditrrrrkszStackViewer.show_source)N)r(r)r*r
rrrrrrrrkrrrrrws
rc@s,eZdZd
ddZdZdddZdd	ZdS)rNcCs d}d}|rdt|}||_||_ddl}||_d|j_d|j_t||_	}|j	j
dddt||dd	d
|_|jj
ddt
|d
d|_}|j
dddt|tdtd|dd||fd|_}	|	j
dddd|	j|d<|j|	d<t|	|_}
|	jdd|
dd|_||dS)Nr(<r8rVrWZgroove)rEborderwidthZreliefrR)rSvbar)namerighty)rKrS,)rUscrollregionrJ)rKrSrXrFZyscrollcommandnw)ZwindowrD)rrtitlereprlibReprrepr	maxstringmaxotherrrr\rprrrZCanvasminmaxcanvasZyviewrgsubframeZ
create_windowZsfidr)rrrdictrrUrrrrrrrrr
s4



zNamespaceViewer.__init__rrcCs^||jkr|sdS|j}|j}t|jD]}|q,d|_|s`t|dd}|jdddn|	}t
|}	d}
|	D]v}||}|j|}
|r|
dd}
t||d}|j|
dddt|ddd	}|
d|
|j|
ddd|
d}
qx||_||}|}|j}dd||f|jd
<|dkrFd|d<|jdd
n||d<|jdd
dS)NNoneryrrMr8rr)rNrOZsticky)rrrrrU)rX)rrrlistZchildrenvaluesr@rprikeyssortedrZEntryinsertZupdate_idletasksZwinfo_reqwidthZwinfo_reqheightrr\)rrrZ
rpc_clientrrclZ	keys_listnamesrNrrZsvaluerrUrrrrrsF



zNamespaceViewer.load_dictcCs|jdSr	)rr@rrrrr?szNamespaceViewer.close)N)rN)r(r)r*r
rrr?rrrrrs

6r__main__)mainzidlelib.idle_test.test_debuggerrF)	verbosityexit)rr!tkinterZtkinter.ttkrrrrZidlelib.scrolledlistrZidlelib.windowrrrr+rrr(Zunittestrrrrr<module>s.?SX

Zerion Mini Shell 1.0