Lc@sdZddkZddkZddkZddkZddklZddkZddkZddk Z ddk Z de fdYZ eZ de _e iZddd d d d d ddg ZdZdZd eieifdYZeedZeedZdZdZdZedZdZdZdZdZ dZ!e"djoddk#Z#e#i!ndS(sA Python debugger.iN(tReprtRestartcBseZdZRS(sBCauses a debugger to be restarted for the debugged python program.(t__name__t __module__t__doc__(((s/usr/lib64/python2.6/pdb.pyRsitruntpmtPdbtrunevaltrunctxtruncallt set_tracet post_mortemthelpcCstidti|}yt|}Wntj odSXd}d}xO|i}|djoPn|i|o|||f}Pn|d}qR|i|S(Nsdef\s+%s\s*[(]it( tretcompiletescapetopentIOErrortNonetreadlinetmatchtclose(tfuncnametfilenametcretfptlinenotanswertline((s/usr/lib64/python2.6/pdb.pyt find_functions"    s -> cBsAeZddldldZdZdZdZdZdZdZ dZ d Z d Z d Z d Zd ZdZdZdZeiiZdZddZdZeZdZdZdZdZdZdZ dZ!dZ"e"Z#dZ$e$Z%e$Z&dZ'e'Z(dZ)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/ZFeFZGd0ZHd1ZId2ZJd3d4d5d6d7d8gZKd9ZLeMd:ZNd;ZOd<ZPd=ZQd>ZReRZSd?ZTd@ZUdAZVdBZWdCZXdDZYdEZZdFZ[dGZ\dHZ]dIZ^dJZ_dKZ`dLZadMZbdNZcdOZddPZedQZfdRZgdSZhdTZidUZjdVZkdWZldXZmdYZndZZod[Zpd\Zqd]Zrd^Zsd_Ztd`ZudaZvevZwdbZxdcZyeyZzddZ{deZ|dfZ}dgZ~dhZdiZdjZdkZRS(mttabcCstii|tii|||||o d|_nd|_h|_d|_d|_ yddk }Wnt j onXg|_ dt ijowt id}ytt ii|d}Wntj oqXx$|iD]}|i i|qW|inytd}Wntj on3Xx$|iD]}|i i|qJW|ih|_h|_h|_t|_d|_dS(Nis(Pdb) RitHOMEs.pdbrc(tbdbtBdbt__init__tcmdtCmdt use_rawinputtprompttaliasest mainpyfilet_wait_for_mainpyfileRt ImportErrortrcLinestostenvironRtpathtjoinRt readlinestappendRtcommandstcommands_doprompttcommands_silenttFalsetcommands_definingRt commands_bnum(tselft completekeytstdintstdoutRtenvHometrcFileR((s/usr/lib64/python2.6/pdb.pyR$=sH              cCstii||idS(N(R"R#tresettforget(R:((s/usr/lib64/python2.6/pdb.pyR@gscCs(d|_g|_d|_d|_dS(Ni(RRtstacktcurindextcurframe(R:((s/usr/lib64/python2.6/pdb.pyRAks   cCsM|i|i||\|_|_|i|id|_|idS(Ni(RAt get_stackRBRCRDt execRcLines(R:tftt((s/usr/lib64/python2.6/pdb.pytsetupqs cCst|iof|i}g|_xQ|D]E}|d }t|djo"|ddjo|i|q#q#WndS(Niit#(R-tlentonecmd(R:R-R((s/usr/lib64/python2.6/pdb.pyRFxs    $cCsD|iodS|i|o!|idIJ|i|dndS(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=t interactionR(R:tframet argument_list((s/usr/lib64/python2.6/pdb.pyt user_calls   cCss|ioA|i|i|iijp|idjodSd|_n|i|o|i|dndS(s;This function is called when we stop or break at this line.iN( R+R*tcanonictf_codet co_filenametf_linenot bp_commandsRNR(R:RO((s/usr/lib64/python2.6/pdb.pyt user_lines  cCst|dto|i|ijo|i}d|_|i}|i|dx"|i|D]}|i|q_W||_|i|p|i |i |i n|i |o|i n|idSdS(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:RORXt lastcmd_backR((s/usr/lib64/python2.6/pdb.pyRVs &     cCs=|iodS||id<|idIJ|i|ddS(s7This function is called when a return trap is set here.Nt __return__s --Return--(R+tf_localsR=RNR(R:ROt return_value((s/usr/lib64/python2.6/pdb.pyt user_returns    cCs|iodS|\}}}||f|idtsingleiRs***Rc( RDR_t f_globalsRtsysR=R<RoRfRdR( R:Rtlocalstglobalstcodet save_stdoutt save_stdintsave_displayhookRHtvRj((s/usr/lib64/python2.6/pdb.pytdefaults.            cCs$|ip|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/lib64/python2.6/pdb.pytprecmds*     cCs/|iptii||S|i|SdS(sInterpret 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/lib64/python2.6/pdb.pyRLs cCs |i|\}}}|pdS|djot|i|i(RDRSRTR*(R:R((s/usr/lib64/python2.6/pdb.pyRs cCs|i|ddS(Ni(R(R:R((s/usr/lib64/python2.6/pdb.pyt do_tbreaksc 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(RRRKRRRR( R:t identifiertfailedtidstringtidtpartstfnametitemRGR((s/usr/lib64/python2.6/pdb.pyRs.     cCst|do |iind }ti|||}|p|idIJdS|i}| p3|ddjp"|d djp|d djo|idIJdS|S( sCheck 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. RDs End of fileiRJis"""s'''s*** Blank or commentN(RRDRrRt linecachetgetlineR=R(R:RRtglobsR((s/usr/lib64/python2.6/pdb.pyRs#  " cCs|i}x|D]}yt|}Wn'tj o|id|IJqnXd|jottiijnp|idI|IJqntii|}|o|iqqWdS(Ns#Breakpoint index %r is not a numberisNo breakpoint numbered( RRRR=RKR"RRtenable(R:RRtiR((s/usr/lib64/python2.6/pdb.pyt do_enables *cCs|i}x|D]}yt|}Wn'tj o|id|IJqnXd|jottiijnp|idI|IJqntii|}|o|iqqWdS(Ns#Breakpoint index %r is not a numberisNo breakpoint numbered( RRRR=RKR"RRtdisable(R:RRRR((s/usr/lib64/python2.6/pdb.pyt do_disables *c Cs|idd}yt|di}Wn)tj o|id|dIJdSXy|d}Wn d}nXytii|}Wn)t j o|id|dIJdSX|o8||_ |p$|idI|I|idIJqndS(NR}iis#Breakpoint index %r is not a numbers Breakpoint index %r is not validRsis now unconditional.( RRRRR=RR"RRt IndexErrorR(R:RRtbpnumRR((s/usr/lib64/python2.6/pdb.pyt do_conditions*  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|Id IJndS( 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 breakpoints is reached.( RRRRR=R"RRRtignore(R:RRRtcountRtreply((s/usr/lib64/python2.6/pdb.pyt do_ignores4       cCs|p^ytd}Wntj o d}nX|ii}|djo|indSd|jo|id}|| }||d}yt|}Wntj od|}nX|i||}|o|i d I|IJndS|i }x|D]}yt|}Wn'tj o|i d |IJqnXd |jot t i ijnp|i d I|IJqn|i|}|o|i d I|IJq|i d I|IJqWdS(sThree 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(RR(t raw_inputtEOFErrorRtlowertclear_all_breaksRRRt clear_breakR=RRKR"RRtclear_bpbynumber(R:RRRRRRt numberlist((s/usr/lib64/python2.6/pdb.pytdo_clear8sH     *cCs|idS(N(tprint_stack_trace(R:R((s/usr/lib64/python2.6/pdb.pytdo_whereescCsl|idjo|idIJnH|id|_|i|id|_|i|i|id|_dS(Nis*** Oldest framei(RCR=RBRDR[RR(R:R((s/usr/lib64/python2.6/pdb.pytdo_upjs cCsy|idt|ijo|idIJnH|id|_|i|id|_|i|i|id|_dS(Nis*** Newest framei(RCRKRBR=RDR[RR(R:R((s/usr/lib64/python2.6/pdb.pytdo_downts cCs|i|idS(Ni(t set_untilRD(R:R((s/usr/lib64/python2.6/pdb.pytdo_until~scCs|idS(Ni(tset_step(R:R((s/usr/lib64/python2.6/pdb.pytdo_steps cCs|i|idS(Ni(tset_nextRD(R:R((s/usr/lib64/python2.6/pdb.pytdo_nextscCsP|o?ddk}tidd!}|i|t_|tid*ntdS(sRestart program by raising an exception to be caught in the main debugger loop. If arguments were given, set them in sys.argv.iNii(tshlexRstargvRR(R:RRtargv0((s/usr/lib64/python2.6/pdb.pytdo_runs  cCs|i|idS(Ni(t set_returnRD(R:R((s/usr/lib64/python2.6/pdb.pyt do_returnscCs|idS(Ni(t set_continue(R:R((s/usr/lib64/python2.6/pdb.pyt do_continues c Cs|idt|ijo|idIJdSyt|}Wn tj o|idIJnxXyK||i_|i|id|f|i|i<|i|i|iWn(tj o}|idI|IJnXdS(Nis-*** You can only jump within the bottom frames.*** The 'jump' command requires a line number.is*** Jump failed:( RCRKRBR=RRRDRUR[(R:Rte((s/usr/lib64/python2.6/pdb.pytdo_jumps  $cCstid|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(Rt call_tracingRttrace_dispatchRZ(R:RRuRttp((s/usr/lib64/python2.6/pdb.pytdo_debugs     cCsd|_|idS(Ni(t_user_requested_quittset_quit(R:R((s/usr/lib64/python2.6/pdb.pytdo_quits  cCs|iJd|_|idS(Ni(R=RR(R:R((s/usr/lib64/python2.6/pdb.pytdo_EOFs  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_t co_argcounttco_flagstranget co_varnamesR=(R:RRGtcotdicttnRtname((s/usr/lib64/python2.6/pdb.pytdo_argss       cCs?d|iijo|i|iidIJn|idIJdS(NR^s*** Not yet returned!(RDR_R=(R:R((s/usr/lib64/python2.6/pdb.pyt do_retvalscCsy t||ii|iiSWnftid \}}t|to |}n |i}|i dI|dIt |IJnXdS(Nis***Rc( RRDRrR_RsRft isinstanceRRR=Rm(R:RRHRzRj((s/usr/lib64/python2.6/pdb.pyt_getvals  #cCs.y |it|i|IJWnnXdS(N(R=RmR (R:R((s/usr/lib64/python2.6/pdb.pytdo_ps cCs.y ti|i||iWnnXdS(N(tpprintR R=(R:R((s/usr/lib64/python2.6/pdb.pytdo_pps c CsFd|_d}|oyt|hh}t|td joC|\}}t|}t|}||jo||}qntdt|d}Wq|idIt|IJdSXn;|idjotd|i i d}n|id}|djo|d}n|i i i }|i |}yxt||dD]}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 ((RZRRRdRtmaxR=RmRRDRURSRTtget_file_breaksRRRRrtrjustRKtKeyboardInterrupt( R:RtlasttxtfirstRt breaklistRRts((s/usr/lib64/python2.6/pdb.pytdo_listsR           c Cs$y"t||ii|ii}Wnmtid \}}t|tdjo |}n |i}|idI|dIt |IJdSXd}y |i }WnnX|o|idI|i IJdSy|i i }WnnX|o|idI|i IJdS|it|IJdS(NiRs***RctFunctiontMethod(RRDRrR_RsRfRdRR=RmRRRR(R:RtvalueRHRzRjRv((s/usr/lib64/python2.6/pdb.pyt do_whatis*s4  # c Cs|i}t|djoM|ii}|ix,|D]$}|id||i|fIJq?WdS|d|ijo=t|djo*|id|d|i|dfIJndi|d|i|dR}(RDR=tformat_stack_entry(R:R!t prompt_prefixROR((s/usr/lib64/python2.6/pdb.pyR[ks   cCs|idS(N(thelp_h(R:((s/usr/lib64/python2.6/pdb.pyt help_helpwscCs|idIJdS(Nsh(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/lib64/python2.6/pdb.pyR%zscCs|idS(N(thelp_w(R:((s/usr/lib64/python2.6/pdb.pyt help_wherescCs|idIJdS(Nsw(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/lib64/python2.6/pdb.pyR'scCs|idS(N(thelp_d(R:((s/usr/lib64/python2.6/pdb.pyt help_downscCs|idIJdS(NsSd(own) Move the current frame one level down in the stack trace (to a newer frame).(R=(R:((s/usr/lib64/python2.6/pdb.pyR)scCs|idS(N(thelp_u(R:((s/usr/lib64/python2.6/pdb.pythelp_upscCs|idIJdS(NsPu(p) Move the current frame one level up in the stack trace (to an older frame).(R=(R:((s/usr/lib64/python2.6/pdb.pyR+scCs|idS(N(thelp_b(R:((s/usr/lib64/python2.6/pdb.pyt help_breakscCs|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/lib64/python2.6/pdb.pyR-s cCs|idS(N(thelp_cl(R:((s/usr/lib64/python2.6/pdb.pyt help_clearscCs|idIJ|idIJdS(Nscl(ear) filename:linenoscl(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/lib64/python2.6/pdb.pyR/s  cCs|idIJdS(NsJtbreak same arguments as break, but breakpoint is removed when first hit.(R=(R:((s/usr/lib64/python2.6/pdb.pyt help_tbreakscCs|idIJdS(Nseenable bpnumber [bpnumber ...] Enables the breakpoints given as a space separated list of bp numbers.(R=(R:((s/usr/lib64/python2.6/pdb.pyt help_enablescCs|idIJdS(Nsgdisable bpnumber [bpnumber ...] Disables the breakpoints given as a space separated list of bp numbers.(R=(R:((s/usr/lib64/python2.6/pdb.pyt help_disablescCs|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/lib64/python2.6/pdb.pyt help_ignorescCs|idIJdS(Nscondition 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/lib64/python2.6/pdb.pythelp_conditionscCs|idS(N(thelp_s(R:((s/usr/lib64/python2.6/pdb.pyt help_stepscCs|idIJdS(Nss(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/lib64/python2.6/pdb.pyR6scCs|idS(N(thelp_unt(R:((s/usr/lib64/python2.6/pdb.pyt help_untilscCs dGHdS(Nsunt(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/lib64/python2.6/pdb.pyR8scCs|idS(N(thelp_n(R:((s/usr/lib64/python2.6/pdb.pyt help_nextscCs|idIJdS(Ns_n(ext) Continue execution until the next line in the current function is reached or it returns.(R=(R:((s/usr/lib64/python2.6/pdb.pyR:scCs|idS(N(thelp_r(R:((s/usr/lib64/python2.6/pdb.pyt help_returnscCs|idIJdS(Ns?r(eturn) Continue execution until the current function returns.(R=(R:((s/usr/lib64/python2.6/pdb.pyR<scCs|idS(N(thelp_c(R:((s/usr/lib64/python2.6/pdb.pyt help_continuescCs|idS(N(R>(R:((s/usr/lib64/python2.6/pdb.pyt help_contscCs|idIJdS(NsLc(ont(inue)) Continue execution, only stop when a breakpoint is encountered.(R=(R:((s/usr/lib64/python2.6/pdb.pyR>scCs|idS(N(thelp_j(R:((s/usr/lib64/python2.6/pdb.pyt help_jumpscCs|idIJdS(Ns6j(ump) lineno Set the next line that will be executed.(R=(R:((s/usr/lib64/python2.6/pdb.pyRAscCs|idIJdS(Nsdebug 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/lib64/python2.6/pdb.pyt help_debug scCs|idS(N(thelp_l(R:((s/usr/lib64/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/lib64/python2.6/pdb.pyRDscCs|idS(N(thelp_a(R:((s/usr/lib64/python2.6/pdb.pyt help_argsscCs|idIJdS(Ns3a(rgs) Print the arguments of the current function.(R=(R:((s/usr/lib64/python2.6/pdb.pyRFscCs|idIJdS(Ns/p expression Print the value of the expression.(R=(R:((s/usr/lib64/python2.6/pdb.pythelp_p"scCs|idIJdS(Ns7pp expression Pretty-print the value of the expression.(R=(R:((s/usr/lib64/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/lib64/python2.6/pdb.pyt help_exec*scCs dGHdS(Nsrun [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/lib64/python2.6/pdb.pythelp_run5scCs|idS(N(thelp_q(R:((s/usr/lib64/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/lib64/python2.6/pdb.pyRLAscCs|idIJdS(Ns+whatis arg Prints the type of the argument.(R=(R:((s/usr/lib64/python2.6/pdb.pyt help_whatisGscCs|idIJdS(Ns,EOF Handles the receipt of EOF as a command.(R=(R:((s/usr/lib64/python2.6/pdb.pythelp_EOFKscCs|idIJdS(Nsalias [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/lib64/python2.6/pdb.pyt help_aliasOscCs|idIJdS(Ns)unalias name Deletes the specified alias.(R=(R:((s/usr/lib64/python2.6/pdb.pyt help_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/lib64/python2.6/pdb.pyt help_commandsks cCs tdS(N(R (R:((s/usr/lib64/python2.6/pdb.pythelp_pdbscCs2tii|otii|o|Stiitid|}tii|o|i||ijo|Stii|\}}|djo|d}ntii|o|SxhtiD]]}x'tii |oti |}qWtii||}tii|o|SqWdS(sHelper 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/lib64/python2.6/pdb.pyRs&&,   cCs}ddk}|ii|iihdd6|d6td6d|_|i||_d|_d|}|i |dS( Nit__main__Rt__file__t __builtins__iisexecfile( "%s")( R]t__dict__tcleartupdateR_R+RRR*RR(R:RR]t statement((s/usr/lib64/python2.6/pdb.pyt _runscripts      N(RRRR$R@RARIRFRQRWRVRaRkRNRoR{RRLRR%R&tdo_helptdo_hRRRtdo_bRRRRRRRRtdo_clRtdo_wtdo_btRtdo_uRtdo_dRtdo_untRtdo_sRtdo_nRt do_restartRtdo_rRtdo_ctdo_contRtdo_jRRtdo_qtdo_exitRRtdo_aRtdo_rvR R R Rtdo_lRRR RRt line_prefixR[R&R%R(R'thelp_btR*R)R,R+R.R-R0R/R1R2R3R4R5R7R6R9R8R;R:R=R<R?R@R>RBRARCRERDRGRFRHRIRJRKt help_restartRMRLt help_exitRNRORPRQRRRSRRd(((s/usr/lib64/python2.6/pdb.pyR;s*              S   !     +                  +                                              #  cCsti|||dS(N(RR(RcRuRt((s/usr/lib64/python2.6/pdb.pyRscCsti|||S(N(RR(t expressionRuRt((s/usr/lib64/python2.6/pdb.pyRscCst|||dS(N(R(RcRuRt((s/usr/lib64/python2.6/pdb.pyR scOsti||S(N(RR (Rtkwds((s/usr/lib64/python2.6/pdb.pyR scCstitiidS(N(RR Rst _getframetf_back(((s/usr/lib64/python2.6/pdb.pyR scCse|djo1tid}|djotdq>nt}|i|id|dS(NisAA valid traceback must be passed if no exception is being handled(RRsRfRRR@RN(RHR((s/usr/lib64/python2.6/pdb.pyR s    cCsttidS(N(R Rstlast_traceback(((s/usr/lib64/python2.6/pdb.pyRssimport x; x.main()cCsttdS(N(RtTESTCMD(((s/usr/lib64/python2.6/pdb.pyttestscCsuxntiD]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/lib64/python2.6/pdb.pyR s   cCstid ptiddjodGHtidntid}tii|pdG|GdGHtidntid=tii|tidsH                    +