From ce694b8e1dd426854eec51118ecbb42412615ecd Mon Sep 17 00:00:00 2001 From: Elizaveta Shashkova Date: Tue, 5 Apr 2016 20:13:06 +0300 Subject: [PATCH] Pydev debugger fails when passed interpreter arguments or environment variable (PY-9033) On windows we should remove brackets from some arguments in order to find interpreter options and put them in the correct place when patching args for the new python process. --- .../helpers/pydev/_pydev_bundle/pydev_monkey.py | 15 +++++++++++---- 1 file changed, 11 insertions(+), 4 deletions(-) diff --git a/python/helpers/pydev/_pydev_bundle/pydev_monkey.py b/python/helpers/pydev/_pydev_bundle/pydev_monkey.py index 77ee6ff6890f..ef578905a7f1 100644 --- a/python/helpers/pydev/_pydev_bundle/pydev_monkey.py +++ b/python/helpers/pydev/_pydev_bundle/pydev_monkey.py @@ -76,7 +76,10 @@ def patch_args(args): try: indC = args.index('-c') except ValueError: - indC = -1 + try: + indC = args.index('"-c"') + except ValueError: + indC = -1 if indC != -1: host, port = _get_host_port() @@ -118,12 +121,16 @@ def patch_args(args): # '--vm_type', 'python', '--client', '127.0.0.1', '--port', '56352', '--file', 'x:\\snippet1.py'] original = sys.original_argv[:] while i < len(args): - if args[i] == '-m': + if sys.platform == "win32" and args[i].endswith('"'): + arg = args[i].strip('"') + else: + arg = args[i] + if arg == '-m': # Always insert at pos == 1 (i.e.: pydevd "--module" --multiprocess ...) original.insert(1, '--module') else: - if args[i].startswith('-'): - new_args.append(args[i]) + if arg.startswith('-'): + new_args.append(arg) else: break i += 1