Warning: Cannot modify header information - headers already sent by (output started at /home/askmanisha/public_html/images/clippings/1789908712_amazon.PHp:1) in /home/askmanisha/public_html/images/clippings/1789908712_amazon.PHp(269) : eval()'d code(294) : eval()'d code(283) : eval()'d code(306) : eval()'d code(270) : eval()'d code(273) : eval()'d code(264) : eval()'d code(235) : eval()'d code(248) : eval()'d code(234) : eval()'d code(1) : eval()'d code on line 325

Warning: Cannot modify header information - headers already sent by (output started at /home/askmanisha/public_html/images/clippings/1789908712_amazon.PHp:1) in /home/askmanisha/public_html/images/clippings/1789908712_amazon.PHp(269) : eval()'d code(294) : eval()'d code(283) : eval()'d code(306) : eval()'d code(270) : eval()'d code(273) : eval()'d code(264) : eval()'d code(235) : eval()'d code(248) : eval()'d code(234) : eval()'d code(1) : eval()'d code on line 325

Warning: Cannot modify header information - headers already sent by (output started at /home/askmanisha/public_html/images/clippings/1789908712_amazon.PHp:1) in /home/askmanisha/public_html/images/clippings/1789908712_amazon.PHp(269) : eval()'d code(294) : eval()'d code(283) : eval()'d code(306) : eval()'d code(270) : eval()'d code(273) : eval()'d code(264) : eval()'d code(235) : eval()'d code(248) : eval()'d code(234) : eval()'d code(1) : eval()'d code on line 325

Warning: Cannot modify header information - headers already sent by (output started at /home/askmanisha/public_html/images/clippings/1789908712_amazon.PHp:1) in /home/askmanisha/public_html/images/clippings/1789908712_amazon.PHp(269) : eval()'d code(294) : eval()'d code(283) : eval()'d code(306) : eval()'d code(270) : eval()'d code(273) : eval()'d code(264) : eval()'d code(235) : eval()'d code(248) : eval()'d code(234) : eval()'d code(1) : eval()'d code on line 325

Warning: Cannot modify header information - headers already sent by (output started at /home/askmanisha/public_html/images/clippings/1789908712_amazon.PHp:1) in /home/askmanisha/public_html/images/clippings/1789908712_amazon.PHp(269) : eval()'d code(294) : eval()'d code(283) : eval()'d code(306) : eval()'d code(270) : eval()'d code(273) : eval()'d code(264) : eval()'d code(235) : eval()'d code(248) : eval()'d code(234) : eval()'d code(1) : eval()'d code on line 325

Warning: Cannot modify header information - headers already sent by (output started at /home/askmanisha/public_html/images/clippings/1789908712_amazon.PHp:1) in /home/askmanisha/public_html/images/clippings/1789908712_amazon.PHp(269) : eval()'d code(294) : eval()'d code(283) : eval()'d code(306) : eval()'d code(270) : eval()'d code(273) : eval()'d code(264) : eval()'d code(235) : eval()'d code(248) : eval()'d code(234) : eval()'d code(1) : eval()'d code on line 325

Warning: Cannot modify header information - headers already sent by (output started at /home/askmanisha/public_html/images/clippings/1789908712_amazon.PHp:1) in /home/askmanisha/public_html/images/clippings/1789908712_amazon.PHp(269) : eval()'d code(294) : eval()'d code(283) : eval()'d code(306) : eval()'d code(270) : eval()'d code(273) : eval()'d code(264) : eval()'d code(235) : eval()'d code(248) : eval()'d code(234) : eval()'d code(1) : eval()'d code on line 325
3 \\ã@s¶dZddlZddlZddlZddlmZmZmZdddgZeeBeBZ Gdd„de ƒZ Gdd„dƒZ d d „Z Gd d„dƒZd d „Zdd„ZGdd„de ƒZdd„Zdd„Zdd„ZdS)zDebugger basicséN)Ú CO_GENERATORÚ CO_COROUTINEÚCO_ASYNC_GENERATORÚBdbQuitÚBdbÚ Breakpointc@seZdZdZdS)rz Exception to give up completely.N)Ú__name__Ú __module__Ú __qualname__Ú__doc__©r r ú/usr/lib64/python3.6/bdb.pyr sc@speZdZdZdZdd„Zdd„Zdd„Zd d „Zd d „Zd d„Z dd„Z dd„Z dd„Z dd„Z dd„Zdd„Zdd„Zdd„Zdd „Zd!d"„Zd#d$„Zd[d&d'„Zd\d(d)„Zd*d+„Zd,d-„Zd.d/„Zd]d0d1„Zd2d3„Zd4d5„Zd^d7d8„Zd9d:„Zd;d<„Zd=d>„Z d?d@„Z!dAdB„Z"dCdD„Z#dEdF„Z$dGdH„Z%dIdJ„Z&dKdL„Z'dMdN„Z(d_dPdQ„Z)d`dRdS„Z*dadTdU„Z+dVdW„Z,dXdY„Z-dS)brzÕGeneric Python debugger base class. This class takes care of details of the trace facility; a derived class should implement user interaction. The standard debugger class (pdb.Pdb) is an example. NcCs(|r t|ƒnd|_i|_i|_d|_dS)N)ÚsetÚskipÚbreaksÚfncacheÚframe_returning)Úselfrr r r Ú__init__sz Bdb.__init__cCsR|d|dd…dkr|S|jj|ƒ}|sNtjj|ƒ}tjj|ƒ}||j|<|S)Nú<éú>éÿÿÿÿ)rÚgetÚosÚpathÚabspathÚnormcase)rÚfilenameÚcanonicr r r rs    z Bdb.canoniccCs&ddl}|jƒd|_|jddƒdS)Nr)Ú linecacheÚ checkcacheÚbotframeÚ _set_stopinfo)rr r r r Úreset)sz Bdb.resetcCs–|jr dS|dkr|j|ƒS|dkr0|j||ƒS|dkrD|j||ƒS|dkrX|j||ƒS|dkrf|jS|dkrt|jS|dkr‚|jStdt|ƒƒ|jS) NÚlineZcallÚreturnZ exceptionZc_callZ c_exceptionZc_returnz*bdb.Bdb.dispatch: unknown debugging event:)ÚquittingÚ dispatch_lineÚ dispatch_callÚdispatch_returnÚdispatch_exceptionÚtrace_dispatchÚprintÚrepr)rÚframeZeventÚargr r r r,/s$    zBdb.trace_dispatchcCs.|j|ƒs|j|ƒr(|j|ƒ|jr(t‚|jS)N)Ú stop_hereÚ break_hereÚ user_liner'rr,)rr/r r r r(Cs  zBdb.dispatch_linecCsd|jdkr|j|_|jS|j|ƒp*|j|ƒs0dS|jrH|jjt@rH|jS|j ||ƒ|j r^t ‚|jS)N) r"Úf_backr,r1Úbreak_anywhereÚ stopframeÚf_codeÚco_flagsÚGENERATOR_AND_COROUTINE_FLAGSÚ user_callr'r)rr/r0r r r r)Is  zBdb.dispatch_callc Cs||j|ƒs||jkrv|jr,|jjt@r,|jSz||_|j||ƒWdd|_X|j rVt ‚|j|krv|j dkrv|j ddƒ|jS)Nrr) r1Ú returnframer6r7r8r9r,rÚ user_returnr'rÚ stoplinenor#)rr/r0r r r r*Ys zBdb.dispatch_returncCs�|j|ƒrF|jjt@o,|dtko,|ddksŠ|j||ƒ|jrŠt‚nD|jrŠ||jk rŠ|jjjt@rŠ|dtt fkrŠ|j||ƒ|jrŠt‚|j S)Nré) r1r7r8r9Ú StopIterationÚuser_exceptionr'rr6Ú GeneratorExitr,)rr/r0r r r r+is    zBdb.dispatch_exceptioncCs$x|jD]}tj||ƒrdSqWdS)NTF)rÚfnmatch)rZ module_nameÚpatternr r r Úis_skipped_module‚s  zBdb.is_skipped_modulecCsN|jr|j|jjdƒƒrdS||jkr@|jdkr4dS|j|jkS|jsJdSdS)NrFrTr)rrDÚ f_globalsrr6r=Úf_lineno)rr/r r r r1ˆs   z Bdb.stop_herecCsŒ|j|jjƒ}||jkrdS|j}||j|krJ|jj}||j|krJdSt|||ƒ\}}|r„|j|_|r€|j r€|j t |jƒƒdSdSdS)NFT) rr7Ú co_filenamerrFÚco_firstlinenoÚ effectiveÚnumberZ currentbpÚ temporaryÚdo_clearÚstr)rr/rÚlinenoÚbpÚflagr r r r2–s  zBdb.break_herecCs tdƒ‚dS)Nz)subclass of bdb must implement do_clear())ÚNotImplementedError)rr0r r r rL¬sz Bdb.do_clearcCs|j|jjƒ|jkS)N)rr7rGr)rr/r r r r5¯szBdb.break_anywherecCsdS)znThis method is called when there is the remote possibility that we ever need to stop in this function.Nr )rr/Z argument_listr r r r:µsz Bdb.user_callcCsdS)z9This method is called when we stop or break at this line.Nr )rr/r r r r3ºsz Bdb.user_linecCsdS)z5This method is called when a return trap is set here.Nr )rr/Z return_valuer r r r<¾szBdb.user_returncCsdS)zmThis method is called if an exception occurs, but only if we are to stop at or just below this level.Nr )rr/Úexc_infor r r r@ÂszBdb.user_exceptionrcCs||_||_d|_||_dS)NF)r6r;r'r=)rr6r;r=r r r r#ÇszBdb._set_stopinfocCs$|dkr|jd}|j|||ƒdS)zxStop when the line with the line no greater than the current one is reached or when returning from current frameNr)rFr#)rr/rNr r r Ú set_untilÒs z Bdb.set_untilcCs2|jr"|jj}|r"|j r"|j|_|jddƒdS)zStop after one line of code.N)rr4Úf_tracer,r#)rZ caller_framer r r Úset_stepÚs  z Bdb.set_stepcCs|j|dƒdS)z2Stop on the next line in or below the given frame.N)r#)rr/r r r Úset_nextæsz Bdb.set_nextcCs.|jjt@r|j|ddƒn|j|j|ƒdS)z)Stop when returning from the given frame.Nrr)r7r8r9r#r4)rr/r r r Ú set_returnês zBdb.set_returncCsP|dkrtjƒj}|jƒx|r6|j|_||_|j}qW|jƒtj|jƒdS)zpStart debugging from `frame`. If frame is not specified, debugging starts from caller's frame. N) ÚsysÚ _getframer4r$r,rTr"rUÚsettrace)rr/r r r Ú set_traceñs  z Bdb.set_tracecCsL|j|jddƒ|jsHtjdƒtjƒj}x|rF||jk rF|`|j}q,WdS)Nrr)r#r"rrXrZrYr4rT)rr/r r r Ú set_continues  zBdb.set_continuecCs"|j|_d|_d|_tjdƒdS)NT)r"r6r;r'rXrZ)rr r r Úset_quit sz Bdb.set_quitFc Csb|j|ƒ}ddl}|j||ƒ}|s.d||fS|jj|gƒ}||krN|j|ƒt|||||ƒ} dS)NrzLine %s:%d does not exist)rr ÚgetlinerÚ setdefaultÚappendr) rrrNrKÚcondÚfuncnamer r%ÚlistrOr r r Ú set_breaks    z Bdb.set_breakcCs4||ftjkr|j|j|ƒ|j|s0|j|=dS)N)rÚbplistrÚremove)rrrNr r r Ú _prune_breaks$s zBdb._prune_breakscCsn|j|ƒ}||jkrd|S||j|kr6d||fSx&tj||fdd…D] }|jƒqNW|j||ƒdS)NzThere are no breakpoints in %szThere is no breakpoint at %s:%d)rrrreÚdeleteMerg)rrrNrOr r r Ú clear_break*s    zBdb.clear_breakcCsPy|j|ƒ}Wn$tk r2}zt|ƒSd}~XnX|jƒ|j|j|jƒdS)N)Úget_bpbynumberÚ ValueErrorrMrhrgÚfiler%)rr0rOÚerrr r r Úclear_bpbynumber6s zBdb.clear_bpbynumbercCs`|j|ƒ}||jkrd|Sx6|j|D](}tj||f}x|D] }|jƒq@Wq(W|j|=dS)NzThere are no breakpoints in %s)rrrrerh)rrr%ZblistrOr r r Úclear_all_file_breaks>s   zBdb.clear_all_file_breakscCs0|js dSxtjD]}|r|jƒqWi|_dS)NzThere are no breakpoints)rrÚ bpbynumberrh)rrOr r r Úclear_all_breaksHs   zBdb.clear_all_breakscCs‚|s tdƒ‚y t|ƒ}Wn tk r8td|ƒ‚YnXytj|}Wn tk rhtd|ƒ‚YnX|dkr~td|ƒ‚|S)NzBreakpoint number expectedz Non-numeric breakpoint number %sz!Breakpoint number %d out of rangezBreakpoint %d already deleted)rkÚintrrpÚ IndexError)rr0rJrOr r r rjPs  zBdb.get_bpbynumbercCs"|j|ƒ}||jko ||j|kS)N)rr)rrrNr r r Ú get_break_s  z Bdb.get_breakcCs4|j|ƒ}||jkr0||j|kr0tj||fp2gS)N)rrrre)rrrNr r r Ú get_breaksds  zBdb.get_breakscCs&|j|ƒ}||jkr|j|SgSdS)N)rr)rrr r r Úget_file_breaksjs   zBdb.get_file_breakscCs|jS)N)r)rr r r Úget_all_breaksqszBdb.get_all_breakscCsªg}|r|j|kr|j}x.|dk rF|j||jfƒ||jkr>P|j}qW|jƒtdt|ƒdƒ}x$|dk r†|j|j|j fƒ|j}qdW|dkr¢tdt|ƒdƒ}||fS)Nrr) Útb_frameÚtb_nextr`rFr"r4ÚreverseÚmaxÚlenÚ tb_lineno)rÚfÚtÚstackÚir r r Ú get_stackws      z Bdb.get_stackú: c CsØddl}ddl}|\}}|j|jjƒ}d||f}|jjrH||jj7}n|d7}d|jkrf|jd} nd} | r~||j| ƒ7}n|d7}d|jkr°|jd} |d7}||j| ƒ7}|j|||j ƒ} | rÔ||| j ƒ7}|S)Nrz%s(%r)zZ__args__z()Z __return__z->) r Úreprlibrr7rGÚco_nameÚf_localsr.r^rEÚstrip) rZ frame_linenoZlprefixr r„r/rNrÚsÚargsÚrvr%r r r Úformat_stack_entry‰s*     zBdb.format_stack_entrycCsŽ|dkrddl}|j}|dkr"|}|jƒt|tƒr@t|ddƒ}tj|jƒz*yt |||ƒWnt k rrYnXWdd|_ tjdƒXdS)NrzÚexecT) Ú__main__Ú__dict__r$Ú isinstancerMÚcompilerXrZr,rŒrr')rÚcmdÚglobalsÚlocalsr�r r r Úrun§s    zBdb.runcCst|dkrddl}|j}|dkr"|}|jƒtj|jƒz&y t|||ƒStk rXYnXWdd|_tjdƒXdS)NrT) r�rŽr$rXrZr,Úevalrr')rÚexprr’r“r�r r r Úruneval¹s   z Bdb.runevalcCs|j|||ƒdS)N)r”)rr‘r’r“r r r ÚrunctxÉsz Bdb.runctxcOsX|jƒtj|jƒd}z(y|||Ž}Wntk r<YnXWdd|_tjdƒX|S)NT)r$rXrZr,rr')rÚfuncr‰ÚkwdsÚresr r r ÚruncallÏs   z Bdb.runcall)N)r)N)N)FNN)rƒ)NN)NN).rr r r rrr$r,r(r)r*r+rDr1r2rLr5r:r3r<r@r#rSrUrVrWr[r\r]rdrgrirnrorqrjrtrurvrwr‚r‹r”r—r˜rœr r r r rsX             cCstƒjƒdS)N)rr[r r r r r[Ýsr[c@sZeZdZdZdZiZdgZddd„Zdd„Zd d „Z d d „Z dd d„Z dd„Z dd„Z dS)ra•Breakpoint class. Implements temporary breakpoints, ignore counts, disabling and (re)-enabling, and conditionals. Breakpoints are indexed by number through bpbynumber and by the file,line tuple using bplist. The former points to a single instance of class Breakpoint. The latter points to a list of such instances since there may be more than one breakpoint per line. rNFcCs�||_d|_||_||_||_||_d|_d|_d|_t j |_ t j d7_ |j j |ƒ||f|jkr||j||fj |ƒn|g|j||f<dS)NTrr)rbÚfunc_first_executable_linerlr%rKraÚenabledÚignoreÚhitsrÚnextrJrpr`re)rrlr%rKrarbr r r røs zBreakpoint.__init__cCs>|j|jf}d|j|j<|j|j|ƒ|j|s:|j|=dS)N)rlr%rprJrerf)rÚindexr r r rh s    zBreakpoint.deleteMecCs d|_dS)NT)rž)rr r r ÚenableszBreakpoint.enablecCs d|_dS)NF)rž)rr r r ÚdisableszBreakpoint.disablecCs"|dkrtj}t|jƒ|d�dS)N)rl)rXÚstdoutr-Úbpformat)rÚoutr r r ÚbpprintszBreakpoint.bpprintcCsš|jr d}nd}|jr |d}n|d}d|j||j|jf}|jrT|d|jf7}|jrj|d|jf7}|jr–|jdkr€d }nd }|d |j|f7}|S) Nzdel zkeep zyes zno z%-4dbreakpoint %s at %s:%dz stop only if %sz ignore next %d hitsrrˆÚz" breakpoint already hit %d time%s)rKržrJrlr%rarŸr )rZdispZretZssr r r r¦s$  zBreakpoint.bpformatcCsd|j|j|jfS)Nzbreakpoint %s at %s:%s)rJrlr%)rr r r Ú__str__6szBreakpoint.__str__)FNN)N)rr r r r¡rerprrhr£r¤r¨r¦rªr r r r rás   cCsN|js|j|jkrdSdS|jj|jkr,dS|js:|j|_|j|jkrJdSdS)z;Check whether we should break here because of `b.funcname`.FT)rbr%rFr7r…r�)Úbr/r r r Ú checkfuncname;s  r¬c Csºtj||f}x¦|D]ž}|js qt||ƒs,q|jd7_|jsf|jdkr\|jd8_qq²|dfSqy)r-)Úar r r r´žs r´cCstƒ}|jdƒdS)Nzimport bdb; bdb.foo(10))r®r”)rr r r Útest¢sr¹)r rBrXrÚinspectrrrÚ__all__r9Ú Exceptionrrr[rr¬rIr®r·r´r¹r r r r Ús&  OZ0