From 28bef58b9dd604f1bf6506cf9f4dedc06b8b84d6 Mon Sep 17 00:00:00 2001 From: Elizaveta Shashkova Date: Tue, 7 Mar 2017 15:37:19 +0300 Subject: [PATCH] Updates from PyDev.Debugger: refix attaching to subprocess with Popen on Windows (PY-20476, PY-22904) --- python/helpers/pydev/_pydev_bundle/pydev_monkey.py | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) diff --git a/python/helpers/pydev/_pydev_bundle/pydev_monkey.py b/python/helpers/pydev/_pydev_bundle/pydev_monkey.py index bf3f49913364..067c6ea60be3 100644 --- a/python/helpers/pydev/_pydev_bundle/pydev_monkey.py +++ b/python/helpers/pydev/_pydev_bundle/pydev_monkey.py @@ -21,15 +21,17 @@ def log_error_once(msg): pydev_src_dir = os.path.dirname(os.path.dirname(__file__)) -def _get_python_c_args(host, port, indC, args): + +def _get_python_c_args(host, port, indC, args, setup): host_literal = "'" + host + "'" if host is not None else 'None' return ("import sys; sys.path.append(r'%s'); import pydevd; " "pydevd.settrace(host=%s, port=%s, suspend=False, trace_only_current_thread=False, patch_multiprocessing=True); " - "%s" + "from pydevd import SetupHolder; SetupHolder.setup = %s; %s" ) % ( pydev_src_dir, host_literal, port, + setup, args[indC + 1]) def _get_host_port(): @@ -96,6 +98,7 @@ def patch_args(args): log_debug("Patching args: %s"% str(args)) args = remove_quotes_from_args(args) + from pydevd import SetupHolder import sys new_args = [] i = 0 @@ -113,7 +116,7 @@ def patch_args(args): if port is not None: new_args.extend(args) - new_args[indC + 1] = _get_python_c_args(host, port, indC, args) + new_args[indC + 1] = _get_python_c_args(host, port, indC, args, SetupHolder.setup) return quote_args(new_args) else: # Check for Python ZIP Applications and don't patch the args for them. @@ -147,7 +150,6 @@ def patch_args(args): # ['X:\\pysrc\\pydevd.py', '--multiprocess', '--print-in-debugger-startup', # '--vm_type', 'python', '--client', '127.0.0.1', '--port', '56352', '--file', 'x:\\snippet1.py'] from _pydevd_bundle.pydevd_command_line_handling import setup_to_argv - from pydevd import SetupHolder original = setup_to_argv(SetupHolder.setup) + ['--file'] while i < len(args): if args[i] == '-m':