oiLddlZddlZddlZddlmZmZmZmZmZddl m Z da GddZ dZ dZGdd ejZGd d ZGd d ZGddZdZdZeZeZdZdZdZedkrCedeedejdejddSdS)N)adbaxdebug codecontainer documents expressions)_wrapc*eZdZdZdZdZdZdZdS)ModuleTreeNodez'Helper class for building a module treecp|j}||_||_d|_t j||_dSN)__name__ moduleNamemodulerealNoderSourceModuleContainercont)selfrmodNames LC:\PYTHON\Scheduler\python\Lib\site-packages\win32comext/axdebug/debugger.py__init__zModuleTreeNode.__init__s4/!  !7?? cd|jdS)Nz)rrs r__repr__zModuleTreeNode.__repr__s94;9999rc:|j|dSr )rAttach)rparentRealNodes rrzModuleTreeNode.Attachs ^,,,,,rc0d|_d|_d|_dSr )rrrrs rClosezModuleTreeNode.Closes   rN)r __module__ __qualname____doc__rrrr rrr r sY11@@@:::---rr c|rp|j}|o||du}|rNt|dr>tj|jddv}|r|rt|}|||<||f|z}||_ |j d}|ddddkr |dd}d |dd} |} | r6tj | } t| ||||| |vr || j } || dSdSdS)N__file__)z.pydz.dll.r)r gethasattrospathsplitextr&lowerr rsplitjoinsysmodules BuildModuler) r built_nodesrootNodecreate_node_fncreate_node_argskeepnoderpartsparent parentNode parentModules rr5r5!s 900D8  GFJ// 7##FO44Q7==??HD  $ f%%" F!>D7-=#=>  %%c** 9RaR=J & &#2#JE%*%%  @;v.L k8^EU   {**(6?  J)    rcntjD]}t|||||dSr )r3r4valuesr5) builtItemsr7 create_noder9rs rRefreshAllModulesrDBsG+$$&&QQFJ+?OPPPPQQrc eZdZdZdZdZdS)CodeContainerProviderc||_tj|t t j|_i|_|j |j|dSr ) axdebuggerrrFrlenr3r4currentNumModulesnodesrD)rrHs rrzCodeContainerProvider.__init__LsY$'00666!$S[!1!1  ))$*d;;;;;rcBtj||Sr )rrF FromFileName)rfnames rrMz"CodeContainerProvider.FromFileNameSs.;;D%HHHrc tj|d|_t dt |jd|jD]}|i|_dS)NzClosing z nodes)rrFr rHprintrIrKrA)rr;s rr zCodeContainerProvider.Close\sy'--d333 0TZ000111J%%''  D JJLLLL rN)r r!r"rrMr r$rrrFrFKsD<<<IIIrrFceZdZdZdZdS)OriginalInterfaceMakerc|j}|||_|}||fSr )pdmCreateApplicationAddApplicationcookie GetRootNoderrTapproots rMakeInterfacesz%OriginalInterfaceMaker.MakeInterfacesfsCh((**((--   Dyrc:||jdSr )RemoveApplicationrWrrTs rCloseInterfacesz&OriginalInterfaceMaker.CloseInterfacesls dk*****rNr r!r"r\r`r$rrrRrRes2 +++++rrRceZdZdZdZdS)SimpleHostStyleInterfaceMakercZ|}|}||fSr )GetDefaultApplicationrXrYs rr\z,SimpleHostStyleInterfaceMaker.MakeInterfacesqs,''))  DyrcdSr r$r_s rr`z-SimpleHostStyleInterfaceMaker.CloseInterfacesvs rNrar$rrrcrcps2      rrcc.eZdZddZdZdZdZdZdS) AXDebuggerNcT|d}|t}tj|_t jt jdtjt j |_ | |j \|_ |_ |j |||_t!t#jt j}|j ||_t-|}|j|j |dS)NzPython Process)rcrDebugger pydebugger pythoncomCoCreateInstancerCLSID_ProcessDebugManager CLSCTX_ALLIID_IProcessDebugManagerrTr\rZr[SetNameinterfaceMakerrrProvideExpressionContextsIID_IProvideExpressionContexts"AddGlobalExpressionContextProviderexpressionCookierF AttachApp)rrr processNameexpressionProvider contProviders rrzAXDebugger.__init__{s  *K  !:<>"* 28<<7#EFF$$X...**49h???r)NN)r r!r"rrr rDrr$rrrhrhzsd::::< $ $ $          rrhc:ttatSr )currentDebuggerrhr$rr_GetCurrentDebuggerrs$,, rcFtdSr )rrr$rrrrs !!!!!rcd}d}dS)Nr}zHi therer$abs rdosomethingelsers AAAArc*d}d}tdS)Nr'r})rrs r dosomethingrs A ArczttdttddS)Nz Waiting...Done)rinputrrPr$rrtestrs1 GGG ,MMM &MMMMMr__main__z'About to test the debugging interfaces! /z com objects still alive)r-r3rlwin32com.axdebugrrrrrwin32com.axdebug.utilrrr r5rDrFrRrcrhrrbrkrrrrr rP_GetInterfaceCount_GetGatewayCountr$rrrs0 PPPPPPPPPPPPPP'''''',   BQQQI;4++++++++        KKKKKKKK\"""      z E 3444DFFF Ec (I ( * *cc-GY-G-I-Icccr