tzh
2024-08-22 c7d0944258c7d0943aa7b2211498fd612971ce27
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
L\¬Qc@sÑdZddlZddlZddlZddlZdddgZdefd„ƒYZdfd„ƒYZd„Z    dfd    „ƒYZ
d
„Z d „Z d efd „ƒYZ d„Zd„Zd„ZdS(sDebugger basicsiÿÿÿÿNtBdbQuittBdbt
BreakpointcBseZdZRS(sException to give up completely(t__name__t
__module__t__doc__(((sK/tmp/ndk-User/buildhost/install/prebuilt/darwin-x86_64/lib/python2.7/bdb.pyR
scBs eZdZd,d„Zd„Zd„Zd„Zd„Zd„Z    d„Z
d„Z d    „Z d
„Z d „Zd „Zd „Zd„Zd„Zd„Zd„Zdd„Zd„Zd„Zd„Zd„Zd,d„Zd„Zd„Zdd,d,d„Zd„Zd„Zd„Z d„Z!d „Z"d!„Z#d"„Z$d#„Z%d$„Z&d%„Z'd&d'„Z(d,d,d(„Z)d,d,d)„Z*d*„Z+d+„Z,RS(-sÕ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.
    cCs:|rt|ƒnd|_i|_i|_d|_dS(N(tsettNonetskiptbreakstfncachetframe_returning(tselfR((sK/tmp/ndk-User/buildhost/install/prebuilt/darwin-x86_64/lib/python2.7/bdb.pyt__init__s        cCso|d|dd!dkr|S|jj|ƒ}|sktjj|ƒ}tjj|ƒ}||j|<n|S(Nt<iiÿÿÿÿt>(R
tgettostpathtabspathtnormcase(R tfilenametcanonic((sK/tmp/ndk-User/buildhost/install/prebuilt/darwin-x86_64/lib/python2.7/bdb.pyRscCs3ddl}|jƒd|_|jddƒdS(Niÿÿÿÿ(t    linecachet
checkcacheRtbotframet _set_stopinfo(R R((sK/tmp/ndk-User/buildhost/install/prebuilt/darwin-x86_64/lib/python2.7/bdb.pytreset's 
    cCsÉ|jr dS|dkr&|j|ƒS|dkrB|j||ƒS|dkr^|j||ƒS|dkrz|j||ƒS|dkr|jS|dkr |jS|dkr³|jSdGt|ƒGH|jS(    Ntlinetcalltreturnt    exceptiontc_callt c_exceptiontc_returns*bdb.Bdb.dispatch: unknown debugging event:(tquittingt dispatch_linet dispatch_calltdispatch_returntdispatch_exceptionttrace_dispatchtrepr(R tframeteventtarg((sK/tmp/ndk-User/buildhost/install/prebuilt/darwin-x86_64/lib/python2.7/bdb.pyR(-s$            cCsG|j|ƒs|j|ƒr@|j|ƒ|jr@t‚q@n|jS(N(t    stop_heret
break_heret    user_lineR#RR((R R*((sK/tmp/ndk-User/buildhost/install/prebuilt/darwin-x86_64/lib/python2.7/bdb.pyR$As
      cCsm|jdkr"|j|_|jS|j|ƒp=|j|ƒsDdS|j||ƒ|jrft‚n|jS(N(    RRtf_backR(R-tbreak_anywheret    user_callR#R(R R*R,((sK/tmp/ndk-User/buildhost/install/prebuilt/darwin-x86_64/lib/python2.7/bdb.pyR%Gs         cCsd|j|ƒs||jkr]z||_|j||ƒWdd|_X|jr]t‚q]n|jS(N(R-t returnframeR t user_returnRR#RR((R R*R,((sK/tmp/ndk-User/buildhost/install/prebuilt/darwin-x86_64/lib/python2.7/bdb.pyR&Ts    
     cCs;|j|ƒr4|j||ƒ|jr4t‚q4n|jS(N(R-tuser_exceptionR#RR((R R*R,((sK/tmp/ndk-User/buildhost/install/prebuilt/darwin-x86_64/lib/python2.7/bdb.pyR'^s
     cCs.x'|jD]}tj||ƒr
tSq
WtS(N(RtfnmatchtTruetFalse(R t module_nametpattern((sK/tmp/ndk-User/buildhost/install/prebuilt/darwin-x86_64/lib/python2.7/bdb.pytis_skipped_modulehscCsœ|jr(|j|jjdƒƒr(tS||jkrZ|jdkrJtS|j|jkSx;|dk    r—||jk    r—||j    kr‹t
S|j }q]WtS(NRiÿÿÿÿ( RR;t    f_globalsRR8t    stopframet
stoplinenotf_linenoRRR7R0(R R*((sK/tmp/ndk-User/buildhost/install/prebuilt/darwin-x86_64/lib/python2.7/bdb.pyR-ns     cCsÈ|j|jjƒ}||jkr(tS|j}||j|krj|jj}||j|krjtSnt|||ƒ\}}|rÀ|j|_    |r¼|j
r¼|j t |jƒƒnt StSdS(N(Rtf_codet co_filenameR    R8R?tco_firstlinenot    effectivetnumbert    currentbpt    temporarytdo_cleartstrR7(R R*Rtlinenotbptflag((sK/tmp/ndk-User/buildhost/install/prebuilt/darwin-x86_64/lib/python2.7/bdb.pyR.~s      cCs td‚dS(Ns)subclass of bdb must implement do_clear()(tNotImplementedError(R R,((sK/tmp/ndk-User/buildhost/install/prebuilt/darwin-x86_64/lib/python2.7/bdb.pyRG”scCs|j|jjƒ|jkS(N(RR@RAR    (R R*((sK/tmp/ndk-User/buildhost/install/prebuilt/darwin-x86_64/lib/python2.7/bdb.pyR1—scCsdS(snThis method is called when there is the remote possibility
        that we ever need to stop in this function.N((R R*t argument_list((sK/tmp/ndk-User/buildhost/install/prebuilt/darwin-x86_64/lib/python2.7/bdb.pyR2scCsdS(s9This method is called when we stop or break at this line.N((R R*((sK/tmp/ndk-User/buildhost/install/prebuilt/darwin-x86_64/lib/python2.7/bdb.pyR/¢scCsdS(s5This method is called when a return trap is set here.N((R R*t return_value((sK/tmp/ndk-User/buildhost/install/prebuilt/darwin-x86_64/lib/python2.7/bdb.pyR4¦scCs|\}}}dS(N((R R*texc_infotexc_typet    exc_valuet exc_traceback((sK/tmp/ndk-User/buildhost/install/prebuilt/darwin-x86_64/lib/python2.7/bdb.pyR5ªsicCs(||_||_d|_||_dS(Ni(R=R3R#R>(R R=R3R>((sK/tmp/ndk-User/buildhost/install/prebuilt/darwin-x86_64/lib/python2.7/bdb.pyR°s            cCs|j|||jdƒdS(sxStop when the line with the line no greater than the current one is
        reached or when returning from current frameiN(RR?(R R*((sK/tmp/ndk-User/buildhost/install/prebuilt/darwin-x86_64/lib/python2.7/bdb.pyt    set_until»scCsK|jr7|jj}|r7|j r7|j|_q7n|jddƒdS(sStop after one line of code.N(R R0tf_traceR(RR(R t caller_frame((sK/tmp/ndk-User/buildhost/install/prebuilt/darwin-x86_64/lib/python2.7/bdb.pytset_stepÀs
     cCs|j|dƒdS(s2Stop on the next line in or below the given frame.N(RR(R R*((sK/tmp/ndk-User/buildhost/install/prebuilt/darwin-x86_64/lib/python2.7/bdb.pytset_nextÌscCs|j|j|ƒdS(s)Stop when returning from the given frame.N(RR0(R R*((sK/tmp/ndk-User/buildhost/install/prebuilt/darwin-x86_64/lib/python2.7/bdb.pyt
set_returnÐscCsq|dkrtjƒj}n|jƒx(|rR|j|_||_|j}q+W|jƒtj    |jƒdS(spStart debugging from `frame`.
 
        If frame is not specified, debugging starts from caller's frame.
        N(
Rtsyst    _getframeR0RR(RTRRVtsettrace(R R*((sK/tmp/ndk-User/buildhost/install/prebuilt/darwin-x86_64/lib/python2.7/bdb.pyt    set_traceÔs 
          
cCsm|j|jddƒ|jsitjdƒtjƒj}x+|re||jk    re|`|j}q>WndS(Niÿÿÿÿ(    RRRR    RYR[RZR0RT(R R*((sK/tmp/ndk-User/buildhost/install/prebuilt/darwin-x86_64/lib/python2.7/bdb.pyt set_continueãs     cCs/|j|_d|_d|_tjdƒdS(Ni(RR=RR3R#RYR[(R ((sK/tmp/ndk-User/buildhost/install/prebuilt/darwin-x86_64/lib/python2.7/bdb.pytset_quitîs         c
Cs¥|j|ƒ}ddl}|j||ƒ}|sAd||fS||jkr`g|j|<n|j|}||kr‰|j|ƒnt|||||ƒ}    dS(NiÿÿÿÿsLine %s:%d does not exist(RRtgetlineR    tappendR(
R RRIRFtcondtfuncnameRRtlistRJ((sK/tmp/ndk-User/buildhost/install/prebuilt/darwin-x86_64/lib/python2.7/bdb.pyt    set_breakûs   cCsJ||ftjkr,|j|j|ƒn|j|sF|j|=ndS(N(RtbplistR    tremove(R RRI((sK/tmp/ndk-User/buildhost/install/prebuilt/darwin-x86_64/lib/python2.7/bdb.pyt _prune_breaks
s cCs„|j|ƒ}||jkr&d|S||j|krGd||fSx&tj||fD]}|jƒq\W|j||ƒdS(NsThere are no breakpoints in %ssThere is no breakpoint at %s:%d(RR    RRetdeleteMeRg(R RRIRJ((sK/tmp/ndk-User/buildhost/install/prebuilt/darwin-x86_64/lib/python2.7/bdb.pyt clear_breakscCs{yt|ƒ}Wn d|SXytj|}Wntk
rHd|SX|sWd|S|jƒ|j|j|jƒdS(Ns"Non-numeric breakpoint number (%s)s#Breakpoint number (%d) out of rangesBreakpoint (%d) already deleted(tintRt
bpbynumbert
IndexErrorRhRgtfileR(R R,RDRJ((sK/tmp/ndk-User/buildhost/install/prebuilt/darwin-x86_64/lib/python2.7/bdb.pytclear_bpbynumbers         
cCsz|j|ƒ}||jkr&d|SxC|j|D]4}tj||f}x|D]}|jƒqTWq4W|j|=dS(NsThere are no breakpoints in %s(RR    RReRh(R RRtblistRJ((sK/tmp/ndk-User/buildhost/install/prebuilt/darwin-x86_64/lib/python2.7/bdb.pytclear_all_file_breaks+s cCsA|js dSx$tjD]}|r|jƒqqWi|_dS(NsThere are no breakpoints(R    RRkRh(R RJ((sK/tmp/ndk-User/buildhost/install/prebuilt/darwin-x86_64/lib/python2.7/bdb.pytclear_all_breaks5s     cCs/|j|ƒ}||jko.||j|kS(N(RR    (R RRI((sK/tmp/ndk-User/buildhost/install/prebuilt/darwin-x86_64/lib/python2.7/bdb.pyt    get_break=scCsH|j|ƒ}||jkrD||j|krDtj||fpGgS(N(RR    RRe(R RRI((sK/tmp/ndk-User/buildhost/install/prebuilt/darwin-x86_64/lib/python2.7/bdb.pyt
get_breaksBscCs1|j|ƒ}||jkr)|j|SgSdS(N(RR    (R R((sK/tmp/ndk-User/buildhost/install/prebuilt/darwin-x86_64/lib/python2.7/bdb.pytget_file_breaksHs cCs|jS(N(R    (R ((sK/tmp/ndk-User/buildhost/install/prebuilt/darwin-x86_64/lib/python2.7/bdb.pytget_all_breaksOscCsög}|r'|j|kr'|j}nxB|dk    rk|j||jfƒ||jkr_Pn|j}q*W|jƒtdt    |ƒdƒ}x2|dk    rÃ|j|j|j
fƒ|j}q’W|dkrìtdt    |ƒdƒ}n||fS(Nii( ttb_framettb_nextRR`R?RR0treversetmaxtlent    tb_lineno(R tftttstackti((sK/tmp/ndk-User/buildhost/install/prebuilt/darwin-x86_64/lib/python2.7/bdb.pyt    get_stackUs   
  s: c Cs2ddl}ddl}|\}}|j|jjƒ}d||f}|jjrh||jj}n
|d}d|jkr‘|jd}    nd}    |    r³||j|    ƒ}n
|d}d|jkrù|jd}
|d}||j|
ƒ}n|j|||j    ƒ} | r.||| j
ƒ}n|S(Niÿÿÿÿs%s(%r)s<lambda>t__args__s()t
__return__s->( RR)RR@RAtco_nametf_localsRR_R<tstrip( R t frame_linenotlprefixRR)R*RIRtstargstrvR((sK/tmp/ndk-User/buildhost/install/prebuilt/darwin-x86_64/lib/python2.7/bdb.pytformat_stack_entryis*  
 
 
cBs¶|dkr$ddl}|j}n|dkr9|}n|jƒej|jƒe|ej    ƒsr|d}nz&y|||UWne
k
r–nXWdd|_ ejdƒXdS(Niÿÿÿÿs
i( Rt__main__t__dict__RRYR[R(t
isinstancettypestCodeTypeRR#(R tcmdtglobalstlocalsRŒ((sK/tmp/ndk-User/buildhost/install/prebuilt/darwin-x86_64/lib/python2.7/bdb.pytrun…s         
      cCs¼|dkr$ddl}|j}n|dkr9|}n|jƒtj|jƒt|tj    ƒsr|d}nz,yt
|||ƒSWnt k
rœnXWdd|_ tjdƒXdS(Niÿÿÿÿs
i( RRŒRRRYR[R(RŽRRtevalRR#(R texprR’R“RŒ((sK/tmp/ndk-User/buildhost/install/prebuilt/darwin-x86_64/lib/python2.7/bdb.pytruneval—s         
      cCs|j|||ƒdS(N(R”(R R‘R’R“((sK/tmp/ndk-User/buildhost/install/prebuilt/darwin-x86_64/lib/python2.7/bdb.pytrunctx©scOsi|jƒtj|jƒd}z+y|||Ž}Wntk
rInXWdd|_tjdƒX|S(Ni(RRYR[R(RRR#(R tfuncR‰tkwdstres((sK/tmp/ndk-User/buildhost/install/prebuilt/darwin-x86_64/lib/python2.7/bdb.pytruncall¯s
     N(-RRRRR RRR(R$R%R&R'R;R-R.RGR1R2R/R4R5RRSRVRWRXR\R]R^RdRgRiRnRpRqRrRsRtRuR€R‹R”R—R˜Rœ(((sK/tmp/ndk-User/buildhost/install/prebuilt/darwin-x86_64/lib/python2.7/bdb.pyRsV     
                   
   
                                                                              
                            cCstƒjƒdS(N(RR\(((sK/tmp/ndk-User/buildhost/install/prebuilt/darwin-x86_64/lib/python2.7/bdb.pyR\½scBs\eZdZdZiZdgZdddd„Zd„Zd„Z    d„Z
dd„Z RS(    s”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.
 
    iicCsÉ||_d|_||_||_||_||_d|_d|_d|_    t
j |_ t
j dt
_ |j j|ƒ||f|jkr¯|j||fj|ƒn|g|j||f<dS(Nii(RbRtfunc_first_executable_lineRmRRFRatenabledtignorethitsRtnextRDRkR`Re(R RmRRFRaRb((sK/tmp/ndk-User/buildhost/install/prebuilt/darwin-x86_64/lib/python2.7/bdb.pyR Ùs                                     cCsT|j|jf}d|j|j<|j|j|ƒ|j|sP|j|=ndS(N(RmRRRkRDReRf(R tindex((sK/tmp/ndk-User/buildhost/install/prebuilt/darwin-x86_64/lib/python2.7/bdb.pyRhîs
 cCs d|_dS(Ni(Rž(R ((sK/tmp/ndk-User/buildhost/install/prebuilt/darwin-x86_64/lib/python2.7/bdb.pytenableöscCs d|_dS(Ni(Rž(R ((sK/tmp/ndk-User/buildhost/install/prebuilt/darwin-x86_64/lib/python2.7/bdb.pytdisableùscCsõ|dkrtj}n|jr*d}nd}|jrF|d}n
|d}|d|j||j|jfIJ|jr“|d|jfIJn|j    r°|d|j    IJn|j
rñ|j
dkrÑd    }nd
}|d |j
|fIJndS( Nsdel  skeep syes  sno   s%-4dbreakpoint   %s at %s:%ds    stop only if %ss    ignore next %d hitsiRˆts!    breakpoint already hit %d time%s( RRYtstdoutRFRžRDRmRRaRŸR (R touttdisptss((sK/tmp/ndk-User/buildhost/install/prebuilt/darwin-x86_64/lib/python2.7/bdb.pytbpprintüs(               
                N( RRRR¡ReRRkR RhR£R¤Rª(((sK/tmp/ndk-User/buildhost/install/prebuilt/darwin-x86_64/lib/python2.7/bdb.pyRÁs                 cCsn|js#|j|jkrtStS|jj|jkr<tS|jsT|j|_n|j|jkrjtStS(s;Check whether we should break here because of `b.funcname`.(RbRR?R8R7R@RƒR(tbR*((sK/tmp/ndk-User/buildhost/install/prebuilt/darwin-x86_64/lib/python2.7/bdb.pyt checkfuncnames        cCstj||f}xtdt|ƒƒD]ê}||}|jdkrNq)nt||ƒscq)n|jd|_|js®|jdkr¡|jd|_q)q|dfSq)yTt    |j|j
|j ƒ}|r|jdkrô|jd|_q|dfSnWq)|dfSXq)WdS(sôDetermine which breakpoint for this file:line is to be acted upon.
 
    Called only if we know there is a bpt at this
    location.  Returns breakpoint that was triggered and a flag
    that indicates if it is ok to delete a temporary bp.
 
    iiN(NN( RRetrangeRzRžR¬R RaRŸR•R<R„R(RmRR*t    possiblesRR«tval((sK/tmp/ndk-User/buildhost/install/prebuilt/darwin-x86_64/lib/python2.7/bdb.pyRC1s.
      tTdbcBs,eZd„Zd„Zd„Zd„ZRS(cCs,|jj}|sd}ndG|G|GHdS(Ns???s+++ call(R@Rƒ(R R*R‰tname((sK/tmp/ndk-User/buildhost/install/prebuilt/darwin-x86_64/lib/python2.7/bdb.pyR2gs     cCs}ddl}|jj}|s'd}n|j|jjƒ}|j||j|jƒ}dG|G|jG|GdG|jƒGHdS(Niÿÿÿÿs???s+++t:(    RR@RƒRRAR_R?R<R…(R R*RR±tfnR((sK/tmp/ndk-User/buildhost/install/prebuilt/darwin-x86_64/lib/python2.7/bdb.pyR/ks      cCs dG|GHdS(Ns
+++ return((R R*tretval((sK/tmp/ndk-User/buildhost/install/prebuilt/darwin-x86_64/lib/python2.7/bdb.pyR4rscCsdG|GH|jƒdS(Ns +++ exception(R](R R*t    exc_stuff((sK/tmp/ndk-User/buildhost/install/prebuilt/darwin-x86_64/lib/python2.7/bdb.pyR5ts    (RRR2R/R4R5(((sK/tmp/ndk-User/buildhost/install/prebuilt/darwin-x86_64/lib/python2.7/bdb.pyR°fs            cCs*dG|GdGHt|dƒ}dG|GHdS(Nsfoo(t)i
s bar returned(tbar(tntx((sK/tmp/ndk-User/buildhost/install/prebuilt/darwin-x86_64/lib/python2.7/bdb.pytfooxs cCsdG|GdGH|dS(Nsbar(R¶i((ta((sK/tmp/ndk-User/buildhost/install/prebuilt/darwin-x86_64/lib/python2.7/bdb.pyR·}s cCstƒ}|jdƒdS(Nsimport bdb; bdb.foo(10)(R°R”(R}((sK/tmp/ndk-User/buildhost/install/prebuilt/darwin-x86_64/lib/python2.7/bdb.pyttests    (RR6RYRRt__all__t    ExceptionRRR\RR¬RCR°RºR·R¼(((sK/tmp/ndk-User/buildhost/install/prebuilt/darwin-x86_64/lib/python2.7/bdb.pyt<module>s     ÿ°    T        5