def code_to_debug(): from debug_me import backchannel, ptvsd, scratchpad import sys import time _, host, port, wait_for_attach, is_attached, stop_method = sys.argv port = int(port) ptvsd.enable_attach((host, port)) if wait_for_attach: backchannel.send("wait_for_attach") ptvsd.wait_for_attach() if is_attached: backchannel.send("is_attached") while not ptvsd.is_attached(): print("looping until is_attached") time.sleep(0.1) if stop_method == "break_into_debugger": backchannel.send("break_into_debugger?") assert backchannel.receive() == "proceed" ptvsd.break_into_debugger() print("break") # @break_into_debugger else: scratchpad["paused"] = False backchannel.send("loop?") assert backchannel.receive() == "proceed" while not scratchpad["paused"]: print("looping until paused") time.sleep(0.1)
def code_to_debug(): from debug_me import ptvsd import sys ptvsd.break_into_debugger() print() # line on which it'll actually break sys.exit(42)
def code_to_debug(): from debug_me import ptvsd # Since Unicode variable name is a SyntaxError at parse time in Python 2, # this needs to do a roundabout way of setting it to avoid parse issues. globals()["\u16A0"] = 123 ptvsd.break_into_debugger() print("break")
def code_to_debug(): from debug_me import ptvsd, scratchpad import time ptvsd.break_into_debugger() object() # @first scratchpad["exit"] = False while not scratchpad["exit"]: time.sleep(0.1) ptvsd.break_into_debugger() object() # @second
def code_to_debug(): from debug_me import ptvsd ptvsd.break_into_debugger() print()
def code_to_debug(): from debug_me import backchannel, ptvsd a = 1 ptvsd.break_into_debugger() backchannel.send(a)