��
���Lc@s�dZddkZddkZddkZddkZddklZddkZddkZddk Z ddk
Z
defd��YZe�Z
de
_e
iZddd d
ddd
ddg Zd�ZdZd eieifd��YZeed�Zeed�Zd�Zd�Zd�Zed�Zd�ZdZd�Zd�Z d�Z!e"djoddk#Z#e#i!�ndS(sA Python debugger.i����N(tReprtRestartcBseZdZRS(sBCauses a debugger to be restarted for the debugged python program.(t__name__t
__module__t__doc__(((s/usr/lib/python2.6/pdb.pyRsi�truntpmtPdbtrunevaltrunctxtruncallt set_tracetpost_mortemthelpcCs�tidti|��}yt|�}Wntj
odSXd}d}xO|i�}|djoPn|i|�o|||f}Pn|d}qR|i�|S(Nsdef\s+%s\s*[(]it( tretcompiletescapetopentIOErrortNonetreadlinetmatchtclose(tfuncnametfilenametcretfptlinenotanswertline((s/usr/lib/python2.6/pdb.pyt
find_functions"
s
-> cBsAeZddldld�Zd�Zd�Zd�Zd�Zd�Zd�Z d�Z
d �Zd
�Zd�Z
d�Zd
�Zd�Zd�Zd�ZeiiZd�Zdd�Zd�ZeZd�Zd�Zd�Zd�Zd�Zd�Z d�Z!d�Z"e"Z#d�Z$e$Z%e$Z&d�Z'e'Z(d�Z)e)Z*d �Z+e+Z,d!�Z-e-Z.d"�Z/e/Z0d#�Z1e1Z2d$�Z3e3Z4d%�Z5e5Z6Z7d&�Z8e8Z9d'�Z:d(�Z;e;Z<e;Z=d)�Z>d*�Z?e?Z@d+�ZAeAZBd,�ZCd-�ZDd.�ZEd/�ZFeFZGd0�ZHd1�ZId2�ZJd3d4d5d6d7d8gZKd9�ZLeMd:�ZNd;�ZOd<�ZPd=�ZQd>�ZReRZSd?�ZTd@�ZUdA�ZVdB�ZWdC�ZXdD�ZYdE�ZZdF�Z[dG�Z\dH�Z]dI�Z^dJ�Z_dK�Z`dL�ZadM�ZbdN�ZcdO�ZddP�ZedQ�ZfdR�ZgdS�ZhdT�ZidU�ZjdV�ZkdW�ZldX�ZmdY�ZndZ�Zod[�Zpd\�Zqd]�Zrd^�Zsd_�Ztd`�Zuda�ZvevZwdb�Zxdc�ZyeyZzdd�Z{de�Z|df�Z}dg�Z~dh�Zdi�Z�dj�Z�dk�Z�RS(mttabcCs�tii|�tii||||�|o
d|_nd|_h|_d|_d|_ yddk
}Wntj
onXg|_dt
ijowt
id}ytt
ii|d��}Wntj
oqXx$|i�D]}|ii|�q�W|i�nytd�}Wntj
on3Xx$|i�D]}|ii|�qJW|i�h|_h|_h|_t|_d|_dS(Nis(Pdb) Ri����tHOMEs.pdbrc(tbdbtBdbt__init__tcmdtCmdtuse_rawinputtprompttaliasest
mainpyfilet_wait_for_mainpyfileRtImportErrortrcLinestostenvironRtpathtjoinRt readlinestappendRtcommandstcommands_doprompttcommands_silenttFalsetcommands_definingRt
commands_bnum(tselftcompletekeytstdintstdoutRtenvHometrcFileR((s/usr/lib/python2.6/pdb.pyR$=sH
cCstii|�|i�dS(N(R"R#tresettforget(R:((s/usr/lib/python2.6/pdb.pyR@gscCs(d|_g|_d|_d|_dS(Ni(RRtstacktcurindextcurframe(R:((s/usr/lib/python2.6/pdb.pyRAks cCsM|i�|i||�\|_|_|i|id|_|i�dS(Ni(RAt get_stackRBRCRDtexecRcLines(R:tftt((s/usr/lib/python2.6/pdb.pytsetupqs
cCst|iof|i}g|_xQ|D]E}|d }t|�djo"|ddjo|i|�q#q#WndS(Ni����it#(R-tlentonecmd(R:R-R((s/usr/lib/python2.6/pdb.pyRFxs
$cCsD|iodS|i|�o!|idIJ|i|d�ndS(snThis method is called when there is the remote possibility
that we ever need to stop in this function.Ns--Call--(R+t stop_hereR=tinteractionR(R:tframet
argument_list((s/usr/lib/python2.6/pdb.pyt user_call�s
cCss|ioA|i|i|ii�jp|idjodSd|_n|i|�o|i|d�ndS(s;This function is called when we stop or break at this line.iN( R+R*tcanonictf_codetco_filenametf_linenotbp_commandsRNR(R:RO((s/usr/lib/python2.6/pdb.pyt user_line�s
cCs�t|dt�o�|i|ijo�|i}d|_|i}|i|d�x"|i|D]}|i|�q_W||_|i|p|i |i
|i�n|i|o|i
�n|i�dSdS(s� Call every command that was set for the current active breakpoint (if there is one)
Returns True if the normal interaction function must be called, False otherwise t currentbpiNi(tgetattrR7RXR4tlastcmdRIRRLR6tprint_stack_entryRBRCR5tcmdloopRA(R:RORXtlastcmd_backR((s/usr/lib/python2.6/pdb.pyRV�s &
cCs=|iodS||id<|idIJ|i|d�dS(s7This function is called when a return trap is set here.Nt
__return__s
--Return--(R+tf_localsR=RNR(R:ROtreturn_value((s/usr/lib/python2.6/pdb.pytuser_return�s
cCs�|iodS|\}}}||f|id<t|�td�jo
|}n
|i}|i|dIt|�IJ|i||�dS(soThis function is called if an exception occurs,
but only if we are to stop at or just below this level.Nt
__exception__Rt:(R+R_ttypeRR=t _safereprRN(R:ROtexc_infotexc_typet exc_valuet
exc_tracebackt
exc_type_name((s/usr/lib/python2.6/pdb.pytuser_exception�s
cCs?|i||�|i|i|i�|i�|i�dS(N(RIR[RBRCR\RA(R:ROt traceback((s/usr/lib/python2.6/pdb.pyRN�s
cCs |dj ot|�GHndS(s{Custom displayhook for the exec in default(), which prevents
assignment of the _ variable in the builtins.
N(Rtrepr(R:tobj((s/usr/lib/python2.6/pdb.pytdisplayhook�s
cBs*|d djo|d}n|ii}|ii}y�e|ddd�}ei}ei}ei}z2|ie_|ie_|ie_|||UWd|e_|e_|e_XWnfei�d \}} e |�e d�jo
|}
n
|i
}
|idI|
d I| IJnXdS(
Nit!s
s<stdin>tsingleiRs***Rc(RDR_t f_globalsRtsysR=R<RoRfRdR(R:Rtlocalstglobalstcodetsave_stdoutt
save_stdintsave_displayhookRHtvRj((s/usr/lib/python2.6/pdb.pytdefault�s.
cCs$|i�p|S|i�}x�|d|ijo�|i|d}d}x8|dD],}|idt|�|�}|d}qWW|iddi|d��}|i�}q!W|ddjoX|id�}|djo8||di�}|ii |�|| i
�}q n|S( s*Handle alias expansion and ';;' separator.iit%s%*t taliass;;i(tstriptsplitR)treplacetstrR1tfindtlstriptcmdqueueR3trstrip(R:RtargstiittmpArgtmarkertnext((s/usr/lib/python2.6/pdb.pytprecmd�s*
cCs/|iptii||�S|i|�SdS(s�Interpret the argument as though it had been typed in response
to the prompt.
Checks whether this line is typed at the normal prompt or in
a breakpoint command list definition.
N(R8R%R&RLthandle_command_def(R:R((s/usr/lib/python2.6/pdb.pyRLs
cCs |i|�\}}}|pdS|djot|i|i<dS|djog|_dS|i|i}|o|i|d|�n|i|�yt|d|�}Wntj
o|i }nX|i
|ijot|i
|i<g|_dSdS(s8Handles one command line during command list definition.NtsilenttendiR}tdo_(t parselinetTrueR6R9R�R4R3RYtAttributeErrorR{t func_nametcommands_resumingR7R5(R:RR%targtcmdlisttfunc((s/usr/lib/python2.6/pdb.pyR�s,
c Cs�|pttii�d}n)yt|�}Wn|idIJdSX||_g|i|<t|i |<t
|i|<|i}d|_t|_
z|i�Wdt
|_
||_XdS(s�Defines a list of commands associated to a breakpoint
Those commands will be executed whenever the breakpoint causes the program to stop execution.is/Usage : commands [bnum]
...
endNs(com) (RKR"t
Breakpointt
bpbynumbertintR=R9R4R�R5R7R6R(R8R\(R:R�tbnumtprompt_back((s/usr/lib/python2.6/pdb.pytdo_commands0s$
icCs=|pR|ioC|idIJx3tiiD]!}|o|i|i�q+q+WndSd}d}d}|id�}|djo(||di�}|| i �}n|i
d�}d} |djo�|| i �}|i|�}
|
p+|idIt|�I|idIJdS|
}||di�}yt
|�}Wq�tj
o}|idI|IJdSXnyt
|�}Wntj
o�y"t||ii|ii�}Wn
|}nXyEt|d �o
|i}n|i}
|
i} |
i}|
i}Wq�|i|�\}}}|p?|id
I|it|�I|idIJ|idIJdS|} t
|�}q�XnX|p|i�}n|i||�}|ov|i||||| �}|o|id
I|IJq9|i||�d}|id|i|i|i fIJndS(Ns!Num Type Disp Enb Wheret,iiRcs*** snot found from sys.paths*** Bad lineno:tim_funcs*** The specified objectsis not a functions or was not found along sys.path.s***i����sBreakpoint %d at %s:%d(!tbreaksR=R"R�R�tbpprintRR�R�R�trfindtlookupmoduleRmR�t
ValueErrortevalRDRrR_thasattrR�t func_codetco_nametco_firstlinenoRTtlineinfotdefaultFilet checklinet set_breakt
get_breakstnumbertfileR(R:R�t temporarytbpRRtcondtcommatcolonRRGtmsgR�RvtoktlnRterr((s/usr/lib/python2.6/pdb.pytdo_breakHs�
cCs7|iii}|djo|io
|i}n|S(sProduce a reasonable default.s<string>(RDRSRTR*(R:R((s/usr/lib/python2.6/pdb.pyR��s
cCs|i|d�dS(Ni(R�(R:R�((s/usr/lib/python2.6/pdb.pyt do_tbreak�sc
Cs1d}|id�}t|�djo|di�}n,t|�djo|di�}n|S|djo|S|id�}|ddjo#|d=t|�djo|Sn|i�}t|�djo|d}n/|i|d�}|o
|}n|d}t||�} | p|S( Nt'iiiRt.R:(NNN(RR�RKRR�R�R(
R:t
identifiertfailedtidstringtidtpartstfnametitemRGR((s/usr/lib/python2.6/pdb.pyR��s.
cCs�t|d�o
|iind }ti|||�}|p|idIJdS|i�}|p3|ddjp"|d djp|d djo|idIJdS|S(
s�Check whether specified line seems to be executable.
Return `lineno` if it is, 0 if not (e.g. a docstring, comment, blank
line or EOF). Warning: testing is not comprehensive.
RDsEnd of fileiRJis"""s'''s*** Blank or commentN(R�RDRrRt linecachetgetlineR=R(R:RRtglobsR((s/usr/lib/python2.6/pdb.pyR��s#
"
cCs�|i�}x�|D]�}yt|�}Wn'tj
o|id|IJqnXd|jottii�jnp|idI|IJqntii|}|o|i�qqWdS(Ns#Breakpoint index %r is not a numberisNo breakpoint numbered( R�R�R�R=RKR"R�R�tenable(R:R�R�tiR�((s/usr/lib/python2.6/pdb.pyt do_enable�s*cCs�|i�}x�|D]�}yt|�}Wn'tj
o|id|IJqnXd|jottii�jnp|idI|IJqntii|}|o|i�qqWdS(Ns#Breakpoint index %r is not a numberisNo breakpoint numbered( R�R�R�R=RKR"R�R�tdisable(R:R�R�R�R�((s/usr/lib/python2.6/pdb.pyt
do_disable�s*cCs�|idd�}yt|di��}Wn)tj
o|id|dIJdSXy|d}Wn
d}nXytii|}Wn)t j
o|id|dIJdSX|o8||_
|p$|idI|I|idIJq�ndS(NR}iis#Breakpoint index %r is not a numbers Breakpoint index %r is not validR�sis now unconditional.(R�R�RR�R=RR"R�R�t
IndexErrorR�(R:R�R�tbpnumR�R�((s/usr/lib/python2.6/pdb.pytdo_condition�s*
cCsI|i�}yt|di��}Wn)tj
o|id|dIJdSXyt|di��}Wn
d}nXytii|}Wn)tj
o|id|dIJdSX|o�||_ |djoHd}|djo|d|}n|d}|i|d |IJqE|id
I|i|IdIJndS(s*arg is bp number followed by ignore count.is#Breakpoint index %r is not a numberNis Breakpoint index %r is not validsWill ignore next s%d crossingss
1 crossings of breakpoint %d.sWill stop next time breakpointsis reached.(
R�R�RR�R=R"R�R�R�tignore(R:R�R�R�tcountR�treply((s/usr/lib/python2.6/pdb.pyt do_ignores4
cCs�|p^ytd�}Wntj
o
d}nX|i�i�}|djo|i�ndSd|jo�|id�}|| }||d}yt|�}Wntj
od|}nX|i||�}|o|i d I|IJndS|i
�}x�|D]�}yt|�}Wn'tj
o|i d
|IJqnXd|jotti
i�jnp|i dI|IJqn|i|�}|o|i d I|IJq|i d
I|IJqWdS(s�Three possibilities, tried in this order:
clear -> clear all breaks, ask for confirmation
clear file:lineno -> clear all breaks at file:lineno
clear bpno bpno ... -> clear breakpoints by numbersClear all breaks? tnotytyesNRcisInvalid line number (%s)s***s#Breakpoint index %r is not a numberisNo breakpoint numberedsDeleted breakpoint(R�R�(t raw_inputtEOFErrorRtlowertclear_all_breaksR�R�R�tclear_breakR=R�RKR"R�R�tclear_bpbynumber(R:R�R�R�RRR�t
numberlist((s/usr/lib/python2.6/pdb.pytdo_clear8sH
*cCs|i�dS(N(tprint_stack_trace(R:R�((s/usr/lib/python2.6/pdb.pytdo_whereescCsl|idjo|idIJnH|id|_|i|id|_|i|i|i�d|_dS(Nis*** Oldest framei(RCR=RBRDR[RR(R:R�((s/usr/lib/python2.6/pdb.pytdo_upjscCsy|idt|i�jo|idIJnH|id|_|i|id|_|i|i|i�d|_dS(Nis*** Newest framei(RCRKRBR=RDR[RR(R:R�((s/usr/lib/python2.6/pdb.pytdo_downtscCs|i|i�dS(Ni(t set_untilRD(R:R�((s/usr/lib/python2.6/pdb.pytdo_until~scCs|i�dS(Ni(tset_step(R:R�((s/usr/lib/python2.6/pdb.pytdo_step�s
cCs|i|i�dS(Ni(tset_nextRD(R:R�((s/usr/lib/python2.6/pdb.pytdo_next�scCsP|o?ddk}tidd!}|i|�t_|tid*nt�dS(s�Restart program by raising an exception to be caught in the main debugger
loop. If arguments were given, set them in sys.argv.i����Nii(tshlexRstargvR�R(R:R�R�targv0((s/usr/lib/python2.6/pdb.pytdo_run�scCs|i|i�dS(Ni(t
set_returnRD(R:R�((s/usr/lib/python2.6/pdb.pyt do_return�scCs|i�dS(Ni(tset_continue(R:R�((s/usr/lib/python2.6/pdb.pytdo_continue�s
c Cs�|idt|i�jo|idIJdSyt|�}Wn tj
o|idIJnxXyK||i_|i|id|f|i|i<|i|i|i�Wn(tj
o}|idI|IJnXdS(Nis-*** You can only jump within the bottom frames.*** The 'jump' command requires a line number.is*** Jump failed:( RCRKRBR=R�R�RDRUR[(R:R�te((s/usr/lib/python2.6/pdb.pytdo_jump�s
$cCs�tid�|ii}|ii}t|i|i|i �}d|i
i�|_
|i dIJti|i
|||f�|i dIJti|i�|i|_dS(Ns(%s) sENTERING RECURSIVE DEBUGGERsLEAVING RECURSIVE DEBUGGER(RstsettraceRRDRrR_RR;R<R=R(Rtcall_tracingRttrace_dispatchRZ(R:R�RuRttp((s/usr/lib/python2.6/pdb.pytdo_debug�s
cCsd|_|i�dS(Ni(t_user_requested_quittset_quit(R:R�((s/usr/lib/python2.6/pdb.pytdo_quit�s
cCs|iJd|_|i�dS(Ni(R=R�R�(R:R�((s/usr/lib/python2.6/pdb.pytdo_EOF�s
cCs�|i}|i}|i}|i}|id@o|d}n|id@o|d}nxct|�D]U}|i|}|i|IdI||jo|i||IJqi|idIJqiWdS(Niiit=s*** undefined ***(RDRSR_tco_argcounttco_flagstrangetco_varnamesR=(R:R�RGtcotdicttnR�tname((s/usr/lib/python2.6/pdb.pytdo_args�s
cCs?d|iijo|i|iidIJn|idIJdS(NR^s*** Not yet returned!(RDR_R=(R:R�((s/usr/lib/python2.6/pdb.pyt do_retval�scCs�y t||ii|ii�SWnfti�d \}}t|t�o
|}n
|i}|i dI|dIt
|�IJ�nXdS(Nis***Rc(R�RDRrR_RsRft
isinstanceR�RR=Rm(R:R�RHRzRj((s/usr/lib/python2.6/pdb.pyt_getval�s
#cCs.y |it|i|��IJWnnXdS(N(R=RmR (R:R�((s/usr/lib/python2.6/pdb.pytdo_p�s cCs.y ti|i|�|i�WnnXdS(N(tpprintR R=(R:R�((s/usr/lib/python2.6/pdb.pytdo_pp�s c
CsFd|_d}|o�y�t|hh�}t|�td
�joC|\}}t|�}t|�}||jo||}q�ntdt|�d�}Wq|idIt|�IJdSXn;|idjotd|i i
d�}n|id}|djo|d}n|i ii}|i
|�}y�x�t||d�D]�}ti|||i i�}|p|idIJPqSt|�id�} t| �djo| d } n||jo| d
} n| d } ||i i
jo| d} n|i| d|I||_qSWWntj
onXdS(Ntlistiis*** Error in argument:i
s[EOF]iiR}tBs->s ((RZRR�RdR�tmaxR=RmRRDRURSRTtget_file_breaksRR�R�RrtrjustRKtKeyboardInterrupt(
R:R�tlasttxtfirstRt breaklistRRts((s/usr/lib/python2.6/pdb.pytdo_list�sR
c
Cs$y"t||ii|ii�}Wnmti�d \}}t|�td�jo
|}n
|i}|idI|dIt |�IJdSXd}y
|i}WnnX|o|idI|iIJdSy|i
i}WnnX|o|idI|iIJdS|it|�IJdS(NiRs***RctFunctiontMethod(R�RDRrR_RsRfRdRR=RmRR�R�R�(R:R�tvalueRHRzRjRv((s/usr/lib/python2.6/pdb.pyt do_whatis*s4
#
c Cs�|i�}t|�djoM|ii�}|i�x,|D]$}|id||i|fIJq?WdS|d|ijo=t|�djo*|id|d|i|dfIJndi|d�|i|d<dS(Nis%s = %siR}(R�RKR)tkeystsortR=R1(R:R�R�RR~((s/usr/lib/python2.6/pdb.pytdo_aliasEs
"'*cCsN|i�}t|�djodS|d|ijo|i|d=ndS(Ni(R�RKR)(R:R�R�((s/usr/lib/python2.6/pdb.pyt
do_unaliasRs
R�R�R�R�R�R�cCs?y%x|iD]}|i|�q
WWntj
onXdS(N(RBR[R(R:tframe_lineno((s/usr/lib/python2.6/pdb.pyR�ds
cCsW|\}}||ijo|idIn|idI|i|i||�IJdS(Nt>R}(RDR=tformat_stack_entry(R:R!t
prompt_prefixROR((s/usr/lib/python2.6/pdb.pyR[ks
cCs|i�dS(N(thelp_h(R:((s/usr/lib/python2.6/pdb.pyt help_helpwscCs|idIJdS(Ns�h(elp)
Without argument, print the list of available commands.
With a command name as argument, print help about that command
"help pdb" pipes the full documentation file to the $PAGER
"help exec" gives help on the ! command(R=(R:((s/usr/lib/python2.6/pdb.pyR%zscCs|i�dS(N(thelp_w(R:((s/usr/lib/python2.6/pdb.pyt
help_where�scCs|idIJdS(Ns�w(here)
Print a stack trace, with the most recent frame at the bottom.
An arrow indicates the "current frame", which determines the
context of most commands. 'bt' is an alias for this command.(R=(R:((s/usr/lib/python2.6/pdb.pyR'�scCs|i�dS(N(thelp_d(R:((s/usr/lib/python2.6/pdb.pyt help_down�scCs|idIJdS(NsSd(own)
Move the current frame one level down in the stack trace
(to a newer frame).(R=(R:((s/usr/lib/python2.6/pdb.pyR)�scCs|i�dS(N(thelp_u(R:((s/usr/lib/python2.6/pdb.pythelp_up�scCs|idIJdS(NsPu(p)
Move the current frame one level up in the stack trace
(to an older frame).(R=(R:((s/usr/lib/python2.6/pdb.pyR+�scCs|i�dS(N(thelp_b(R:((s/usr/lib/python2.6/pdb.pyt
help_break�scCs|idIJdS(NsFb(reak) ([file:]lineno | function) [, condition]
With a line number argument, set a break there in the current
file. With a function name, set a break at first executable line
of that function. Without argument, list all breaks. If a second
argument is present, it is a string specifying an expression
which must evaluate to true before the breakpoint is honored.
The line number may be prefixed with a filename and a colon,
to specify a breakpoint in another file (probably one that
hasn't been loaded yet). The file is searched for on sys.path;
the .py suffix may be omitted.(R=(R:((s/usr/lib/python2.6/pdb.pyR-�s
cCs|i�dS(N(thelp_cl(R:((s/usr/lib/python2.6/pdb.pyt
help_clear�scCs|idIJ|idIJdS(Nscl(ear) filename:linenos�cl(ear) [bpnumber [bpnumber...]]
With a space separated list of breakpoint numbers, clear
those breakpoints. Without argument, clear all breaks (but
first ask confirmation). With a filename:lineno argument,
clear all breaks at that line in that file.
Note that the argument is different from previous versions of
the debugger (in python distributions 1.5.1 and before) where
a linenumber was used instead of either filename:lineno or
breakpoint numbers.(R=(R:((s/usr/lib/python2.6/pdb.pyR/�s
cCs|idIJdS(NsJtbreak same arguments as break, but breakpoint is
removed when first hit.(R=(R:((s/usr/lib/python2.6/pdb.pythelp_tbreak�scCs|idIJdS(Nseenable bpnumber [bpnumber ...]
Enables the breakpoints given as a space separated list of
bp numbers.(R=(R:((s/usr/lib/python2.6/pdb.pythelp_enable�scCs|idIJdS(Nsgdisable bpnumber [bpnumber ...]
Disables the breakpoints given as a space separated list of
bp numbers.(R=(R:((s/usr/lib/python2.6/pdb.pythelp_disable�scCs|idIJdS(Ns(ignore bpnumber count
Sets the ignore count for the given breakpoint number. A breakpoint
becomes active when the ignore count is zero. When non-zero, the
count is decremented each time the breakpoint is reached and the
breakpoint is not disabled and any associated condition evaluates
to true.(R=(R:((s/usr/lib/python2.6/pdb.pythelp_ignore�scCs|idIJdS(Ns�condition bpnumber str_condition
str_condition is a string specifying an expression which
must evaluate to true before the breakpoint is honored.
If str_condition is absent, any existing condition is removed;
i.e., the breakpoint is made unconditional.(R=(R:((s/usr/lib/python2.6/pdb.pythelp_condition�scCs|i�dS(N(thelp_s(R:((s/usr/lib/python2.6/pdb.pyt help_step�scCs|idIJdS(Ns�s(tep)
Execute the current line, stop at the first possible occasion
(either in a function that is called or in the current function).(R=(R:((s/usr/lib/python2.6/pdb.pyR6�scCs|i�dS(N(thelp_unt(R:((s/usr/lib/python2.6/pdb.pyt
help_until�scCs dGHdS(Ns�unt(il)
Continue execution until the line with a number greater than the current
one is reached or until the current frame returns((R:((s/usr/lib/python2.6/pdb.pyR8�scCs|i�dS(N(thelp_n(R:((s/usr/lib/python2.6/pdb.pyt help_next�scCs|idIJdS(Ns_n(ext)
Continue execution until the next line in the current function
is reached or it returns.(R=(R:((s/usr/lib/python2.6/pdb.pyR:�scCs|i�dS(N(thelp_r(R:((s/usr/lib/python2.6/pdb.pythelp_return�scCs|idIJdS(Ns?r(eturn)
Continue execution until the current function returns.(R=(R:((s/usr/lib/python2.6/pdb.pyR<�scCs|i�dS(N(thelp_c(R:((s/usr/lib/python2.6/pdb.pyt
help_continue�scCs|i�dS(N(R>(R:((s/usr/lib/python2.6/pdb.pyt help_cont�scCs|idIJdS(NsLc(ont(inue))
Continue execution, only stop when a breakpoint is encountered.(R=(R:((s/usr/lib/python2.6/pdb.pyR>�scCs|i�dS(N(thelp_j(R:((s/usr/lib/python2.6/pdb.pyt help_jumpscCs|idIJdS(Ns6j(ump) lineno
Set the next line that will be executed.(R=(R:((s/usr/lib/python2.6/pdb.pyRAscCs|idIJdS(Ns�debug code
Enter a recursive debugger that steps through the code argument
(which is an arbitrary expression or statement to be executed
in the current environment).(R=(R:((s/usr/lib/python2.6/pdb.pyt
help_debug scCs|i�dS(N(thelp_l(R:((s/usr/lib/python2.6/pdb.pyt help_listscCs|idIJdS(Ns8l(ist) [first [,last]]
List source code for the current file.
Without arguments, list 11 lines around the current line
or continue the previous listing.
With one argument, list 11 lines starting at that line.
With two arguments, list the given range;
if the second argument is less than the first, it is a count.(R=(R:((s/usr/lib/python2.6/pdb.pyRDscCs|i�dS(N(thelp_a(R:((s/usr/lib/python2.6/pdb.pyt help_argsscCs|idIJdS(Ns3a(rgs)
Print the arguments of the current function.(R=(R:((s/usr/lib/python2.6/pdb.pyRFscCs|idIJdS(Ns/p expression
Print the value of the expression.(R=(R:((s/usr/lib/python2.6/pdb.pythelp_p"scCs|idIJdS(Ns7pp expression
Pretty-print the value of the expression.(R=(R:((s/usr/lib/python2.6/pdb.pythelp_pp&scCs|idIJdS(Ns[(!) statement
Execute the (one-line) statement in the context of
the current stack frame.
The exclamation point can be omitted unless the first word
of the statement resembles a debugger command.
To assign to a global variable you must always prefix the
command with a 'global' command, e.g.:
(Pdb) global list_options; list_options = ['-l']
(Pdb)(R=(R:((s/usr/lib/python2.6/pdb.pyt help_exec*scCs dGHdS(Ns�run [args...]
Restart the debugged python program. If a string is supplied, it is
splitted with "shlex" and the result is used as the new sys.argv.
History, breakpoints, actions and debugger options are preserved.
"restart" is an alias for "run".((R:((s/usr/lib/python2.6/pdb.pythelp_run5scCs|i�dS(N(thelp_q(R:((s/usr/lib/python2.6/pdb.pyt help_quit>scCs|idIJdS(NsOq(uit) or exit - Quit from the debugger.
The program being executed is aborted.(R=(R:((s/usr/lib/python2.6/pdb.pyRLAscCs|idIJdS(Ns+whatis arg
Prints the type of the argument.(R=(R:((s/usr/lib/python2.6/pdb.pythelp_whatisGscCs|idIJdS(Ns,EOF
Handles the receipt of EOF as a command.(R=(R:((s/usr/lib/python2.6/pdb.pythelp_EOFKscCs|idIJdS(Ns�alias [name [command [parameter parameter ...] ]]
Creates an alias called 'name' the executes 'command'. The command
must *not* be enclosed in quotes. Replaceable parameters are
indicated by %1, %2, and so on, while %* is replaced by all the
parameters. If no command is given, the current alias for name
is shown. If no name is given, all aliases are listed.
Aliases may be nested and can contain anything that can be
legally typed at the pdb prompt. Note! You *can* override
internal pdb commands with aliases! Those internal commands
are then hidden until the alias is removed. Aliasing is recursively
applied to the first word of the command line; all other words
in the line are left alone.
Some useful aliases (especially when placed in the .pdbrc file) are:
#Print instance variables (usage "pi classInst")
alias pi for k in %1.__dict__.keys(): print "%1.",k,"=",%1.__dict__[k]
#Print instance variables in self
alias ps pi self
(R=(R:((s/usr/lib/python2.6/pdb.pyt
help_aliasOscCs|idIJdS(Ns)unalias name
Deletes the specified alias.(R=(R:((s/usr/lib/python2.6/pdb.pythelp_unaliasgscCs|idIJdS(Nscommands [bpnumber]
(com) ...
(com) end
(Pdb)
Specify a list of commands for breakpoint number bpnumber. The
commands themselves appear on the following lines. Type a line
containing just 'end' to terminate the commands.
To remove all commands from a breakpoint, type commands and
follow it immediately with end; that is, give no commands.
With no bpnumber argument, commands refers to the last
breakpoint set.
You can use breakpoint commands to start your program up again.
Simply use the continue command, or step, or any other
command that resumes execution.
Specifying any command resuming execution (currently continue,
step, next, return, jump, quit and their abbreviations) terminates
the command list (as if that command was immediately followed by end).
This is because any time you resume execution
(even with a simple next or step), you may encounter
another breakpoint--which could have its own command list, leading to
ambiguities about which list to execute.
If you use the 'silent' command in the command list, the
usual message about stopping at a breakpoint is not printed. This may
be desirable for breakpoints that are to print a specific message and
then continue. If none of the other commands print anything, you
see no sign that the breakpoint was reached.
(R=(R:((s/usr/lib/python2.6/pdb.pyt
help_commandsks cCst�dS(N(R
(R:((s/usr/lib/python2.6/pdb.pythelp_pdb�scCs2tii|�otii|�o|Stiitid|�}tii|�o|i|�|ijo|Stii|�\}}|djo|d}ntii|�o|SxhtiD]]}x'tii |�oti
|�}q�Wtii||�}tii|�o|Sq�WdS(s�Helper function for break/clear parsing -- may be overridden.
lookupmodule() translates (possibly incomplete) file or module name
into an absolute file name.
iRs.pyN(R.R0tisabstexistsR1RsRRR*tsplitexttislinktreadlinkR(R:RRGtroottexttdirnametfullname((s/usr/lib/python2.6/pdb.pyR��s&&,
cCs}ddk}|ii�|iihdd6|d6td6�d|_|i|�|_d|_d|}|i |�dS( Ni����t__main__Rt__file__t__builtins__iisexecfile( "%s")(
R]t__dict__tcleartupdateR_R+RRR*R�R(R:RR]t statement((s/usr/lib/python2.6/pdb.pyt
_runscript�s
N(�RRRR$R@RARIRFRQRWRVRaRkRNRoR{R�RLR�R%R&tdo_helptdo_hR�R�R�tdo_bR�R�R�R�R�R�R�R�tdo_clR�tdo_wtdo_btR�tdo_uR�tdo_dR�tdo_untR�tdo_sR�tdo_nR�t
do_restartR�tdo_rR�tdo_ctdo_contR�tdo_jR�R�tdo_qtdo_exitR�Rtdo_aRtdo_rvR R
RRtdo_lRRR R�R�tline_prefixR[R&R%R(R'thelp_btR*R)R,R+R.R-R0R/R1R2R3R4R5R7R6R9R8R;R:R=R<R?R@R>RBRARCRERDRGRFRHRIRJRKthelp_restartRMRLt help_exitRNRORPRQRRRSR�Rd(((s/usr/lib/python2.6/pdb.pyR;s�*
S ! +
+
# cCst�i|||�dS(N(RR(RcRuRt((s/usr/lib/python2.6/pdb.pyR�scCst�i|||�S(N(RR(t
expressionRuRt((s/usr/lib/python2.6/pdb.pyR�scCst|||�dS(N(R(RcRuRt((s/usr/lib/python2.6/pdb.pyR �scOst�i||�S(N(RR
(R�tkwds((s/usr/lib/python2.6/pdb.pyR
�scCst�iti�i�dS(N(RRRst _getframetf_back(((s/usr/lib/python2.6/pdb.pyR�scCse|djo1ti�d}|djotd��q>nt�}|i�|id|�dS(NisAA valid traceback must be passed if no exception is being handled(RRsRfR�RR@RN(RHR�((s/usr/lib/python2.6/pdb.pyR�s
cCstti�dS(N(RRstlast_traceback(((s/usr/lib/python2.6/pdb.pyR�ssimport x; x.main()cCstt�dS(N(RtTESTCMD(((s/usr/lib/python2.6/pdb.pyttest�scCsuxntiD]Z}tii|d�}tii|�o,tid|�}|o
dG|GHnPq
q
WdGdGHdS(Nspdb.docs${PAGER-more} s*** Pager exit status:s)Sorry, can't find the help file "pdb.doc"salong the Python search path(RsR0R.R1RUtsystem(R[R\tsts((s/usr/lib/python2.6/pdb.pyR
�s
cCs�tidptiddjodGHtid�ntid}tii|�pdG|GdGHtid�ntid=tii|�tid<t�}x�to�y%|i |�|i
oPnd GHWq�tj
o-d
G|GdGHdd
itid�GHq�t
j
odGti�dGHq�ti�dGHdGHti�d}|id|�d|dGHq�Xq�WdS(Nis--helps-hs"usage: pdb.py scriptfile [arg] ...isError:sdoes not existis*The program finished and will be restartedt
Restartingswith arguments:s R}s0The program exited via sys.exit(). Exit status: s2Uncaught exception. Entering post mortem debuggings1Running 'cont' or 'step' will restart the programs#Post mortem debugger finished. The s will be restarted(s--helps-h(RsR�texitR.R0RUR[RR�RdR�RR1t
SystemExitRfRlt print_excRNR(R*tpdbRH((s/usr/lib/python2.6/pdb.pytmain�s<#
R]($RRsR�R%R"RmRR.RRRlt ExceptionRt_reprt maxstringRet__all__RRzR#R&RRRRR R
RRRR�R�R
R�RR�(((s/usr/lib/python2.6/pdb.pyt<module>sH ����� +