def wait_for_attach(): log.debug("wait_for_attach()") dbg = get_global_debugger() if dbg is None: raise RuntimeError("wait_for_attach() called before enable_attach()") cancel_event = threading.Event() ptvsd.wait_for_attach.cancel = wait_for_attach.cancel = cancel_event.set pydevd._wait_for_attach(cancel=cancel_event)
def wait_for_client(): ensure_logging() log.debug("wait_for_client()") pydb = get_global_debugger() if pydb is None: raise RuntimeError("listen() or connect() must be called first") cancel_event = threading.Event() debugpy.wait_for_client.cancel = wait_for_client.cancel = cancel_event.set pydevd._wait_for_attach(cancel=cancel_event)
def wait_for_attach(): log.info("wait_for_attach()") dbg = get_global_debugger() if not bool(dbg): msg = "wait_for_attach() called before enable_attach()." log.info(msg) raise AssertionError(msg) cancel_event = threading.Event() ptvsd.wait_for_attach.cancel = wait_for_attach.cancel = cancel_event.set pydevd._wait_for_attach(cancel=cancel_event)
if __name__ == '__main__': import os import sys import time port = int(sys.argv[1]) root_dirname = os.path.dirname(os.path.dirname(__file__)) if root_dirname not in sys.path: sys.path.append(root_dirname) import pydevd try: pydevd._wait_for_attach() # Cannot be called before _enable_attach. except AssertionError: pass else: raise AssertionError('Expected _wait_for_attach to raise exception.') assert sys.gettrace() is None print('enable attach to port: %s' % (port, )) pydevd._enable_attach(('127.0.0.1', port)) pydevd._enable_attach(('127.0.0.1', port)) # no-op in practice try: pydevd._enable_attach( ('127.0.0.1', port + 15)) # different port: raise error. except AssertionError: pass else: raise AssertionError( 'Expected _enable_attach to raise exception (because it is already hearing in another port).'
if __name__ == '__main__': import os import sys import time port = int(sys.argv[1]) root_dirname = os.path.dirname(os.path.dirname(__file__)) if root_dirname not in sys.path: sys.path.append(root_dirname) import pydevd try: pydevd._wait_for_attach() # Cannot be called before _enable_attach. except AssertionError: pass else: raise AssertionError('Expected _wait_for_attach to raise exception.') assert sys.gettrace() is None print('enable attach to port: %s' % (port,)) pydevd._enable_attach(('127.0.0.1', port)) pydevd._enable_attach(('127.0.0.1', port)) # no-op in practice try: pydevd._enable_attach(('127.0.0.1', port + 15)) # different port: raise error. except AssertionError: pass else: raise AssertionError('Expected _enable_attach to raise exception (because it is already hearing in another port).') assert pydevd.get_global_debugger() is not None