debugpy 1.8.5__zip → 1.8.6__zip
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- {debugpy-1.8.5/src/debugpy.egg-info → debugpy-1.8.6}/PKG-INFO +1 -1
- {debugpy-1.8.5 → debugpy-1.8.6}/src/debugpy/_vendored/pydevd/_pydev_bundle/_pydev_calltip_util.py +19 -21
- {debugpy-1.8.5 → debugpy-1.8.6}/src/debugpy/_vendored/pydevd/_pydev_bundle/_pydev_completer.py +30 -30
- {debugpy-1.8.5 → debugpy-1.8.6}/src/debugpy/_vendored/pydevd/_pydev_bundle/_pydev_execfile.py +3 -1
- debugpy-1.8.6/src/debugpy/_vendored/pydevd/_pydev_bundle/_pydev_filesystem_encoding.py +43 -0
- {debugpy-1.8.5 → debugpy-1.8.6}/src/debugpy/_vendored/pydevd/_pydev_bundle/_pydev_getopt.py +35 -32
- {debugpy-1.8.5 → debugpy-1.8.6}/src/debugpy/_vendored/pydevd/_pydev_bundle/_pydev_imports_tipper.py +83 -84
- {debugpy-1.8.5 → debugpy-1.8.6}/src/debugpy/_vendored/pydevd/_pydev_bundle/_pydev_jy_imports_tipper.py +92 -99
- {debugpy-1.8.5 → debugpy-1.8.6}/src/debugpy/_vendored/pydevd/_pydev_bundle/_pydev_log.py +2 -3
- {debugpy-1.8.5 → debugpy-1.8.6}/src/debugpy/_vendored/pydevd/_pydev_bundle/_pydev_saved_modules.py +51 -27
- {debugpy-1.8.5 → debugpy-1.8.6}/src/debugpy/_vendored/pydevd/_pydev_bundle/_pydev_sys_patch.py +11 -7
- {debugpy-1.8.5 → debugpy-1.8.6}/src/debugpy/_vendored/pydevd/_pydev_bundle/_pydev_tipper_common.py +6 -5
- {debugpy-1.8.5 → debugpy-1.8.6}/src/debugpy/_vendored/pydevd/_pydev_bundle/fsnotify/__init__.py +34 -38
- {debugpy-1.8.5 → debugpy-1.8.6}/src/debugpy/_vendored/pydevd/_pydev_bundle/pydev_console_utils.py +71 -69
- {debugpy-1.8.5 → debugpy-1.8.6}/src/debugpy/_vendored/pydevd/_pydev_bundle/pydev_import_hook.py +1 -3
- {debugpy-1.8.5 → debugpy-1.8.6}/src/debugpy/_vendored/pydevd/_pydev_bundle/pydev_imports.py +0 -1
- {debugpy-1.8.5 → debugpy-1.8.6}/src/debugpy/_vendored/pydevd/_pydev_bundle/pydev_ipython_console.py +14 -16
- {debugpy-1.8.5 → debugpy-1.8.6}/src/debugpy/_vendored/pydevd/_pydev_bundle/pydev_ipython_console_011.py +81 -93
- {debugpy-1.8.5 → debugpy-1.8.6}/src/debugpy/_vendored/pydevd/_pydev_bundle/pydev_is_thread_alive.py +3 -3
- {debugpy-1.8.5 → debugpy-1.8.6}/src/debugpy/_vendored/pydevd/_pydev_bundle/pydev_localhost.py +9 -8
- {debugpy-1.8.5 → debugpy-1.8.6}/src/debugpy/_vendored/pydevd/_pydev_bundle/pydev_log.py +33 -25
- {debugpy-1.8.5 → debugpy-1.8.6}/src/debugpy/_vendored/pydevd/_pydev_bundle/pydev_monkey.py +183 -170
- {debugpy-1.8.5 → debugpy-1.8.6}/src/debugpy/_vendored/pydevd/_pydev_bundle/pydev_monkey_qt.py +33 -29
- {debugpy-1.8.5 → debugpy-1.8.6}/src/debugpy/_vendored/pydevd/_pydev_bundle/pydev_override.py +6 -4
- {debugpy-1.8.5 → debugpy-1.8.6}/src/debugpy/_vendored/pydevd/_pydev_bundle/pydev_umd.py +19 -18
- {debugpy-1.8.5 → debugpy-1.8.6}/src/debugpy/_vendored/pydevd/_pydev_bundle/pydev_versioncheck.py +3 -3
- {debugpy-1.8.5 → debugpy-1.8.6}/src/debugpy/_vendored/pydevd/_pydev_runfiles/pydev_runfiles.py +165 -138
- debugpy-1.8.6/src/debugpy/_vendored/pydevd/_pydev_runfiles/pydev_runfiles_coverage.py +77 -0
- {debugpy-1.8.5 → debugpy-1.8.6}/src/debugpy/_vendored/pydevd/_pydev_runfiles/pydev_runfiles_nose.py +35 -36
- {debugpy-1.8.5 → debugpy-1.8.6}/src/debugpy/_vendored/pydevd/_pydev_runfiles/pydev_runfiles_parallel.py +22 -23
- {debugpy-1.8.5 → debugpy-1.8.6}/src/debugpy/_vendored/pydevd/_pydev_runfiles/pydev_runfiles_parallel_client.py +37 -57
- {debugpy-1.8.5 → debugpy-1.8.6}/src/debugpy/_vendored/pydevd/_pydev_runfiles/pydev_runfiles_pytest2.py +54 -52
- {debugpy-1.8.5 → debugpy-1.8.6}/src/debugpy/_vendored/pydevd/_pydev_runfiles/pydev_runfiles_unittest.py +28 -37
- {debugpy-1.8.5 → debugpy-1.8.6}/src/debugpy/_vendored/pydevd/_pydev_runfiles/pydev_runfiles_xml_rpc.py +56 -53
- debugpy-1.8.6/src/debugpy/_vendored/pydevd/_pydevd_bundle/_debug_adapter/__main__pydevd_gen_debug_adapter_protocol.py +604 -0
- {debugpy-1.8.5 → debugpy-1.8.6}/src/debugpy/_vendored/pydevd/_pydevd_bundle/_debug_adapter/debugProtocol.json +551 -445
- {debugpy-1.8.5 → debugpy-1.8.6}/src/debugpy/_vendored/pydevd/_pydevd_bundle/_debug_adapter/pydevd_base_schema.py +25 -29
- debugpy-1.8.6/src/debugpy/_vendored/pydevd/_pydevd_bundle/_debug_adapter/pydevd_schema.py +17458 -0
- {debugpy-1.8.5 → debugpy-1.8.6}/src/debugpy/_vendored/pydevd/_pydevd_bundle/_debug_adapter/pydevd_schema_log.py +11 -12
- {debugpy-1.8.5 → debugpy-1.8.6}/src/debugpy/_vendored/pydevd/_pydevd_bundle/pydevconsole_code.py +18 -19
- debugpy-1.8.6/src/debugpy/_vendored/pydevd/_pydevd_bundle/pydevd_additional_thread_info.py +41 -0
- debugpy-1.8.6/src/debugpy/_vendored/pydevd/_pydevd_bundle/pydevd_additional_thread_info_regular.py +327 -0
- {debugpy-1.8.5 → debugpy-1.8.6}/src/debugpy/_vendored/pydevd/_pydevd_bundle/pydevd_api.py +263 -214
- {debugpy-1.8.5 → debugpy-1.8.6}/src/debugpy/_vendored/pydevd/_pydevd_bundle/pydevd_breakpoints.py +7 -10
- {debugpy-1.8.5 → debugpy-1.8.6}/src/debugpy/_vendored/pydevd/_pydevd_bundle/pydevd_bytecode_utils.py +187 -92
- debugpy-1.8.6/src/debugpy/_vendored/pydevd/_pydevd_bundle/pydevd_bytecode_utils_py311.py +105 -0
- {debugpy-1.8.5 → debugpy-1.8.6}/src/debugpy/_vendored/pydevd/_pydevd_bundle/pydevd_code_to_source.py +46 -51
- {debugpy-1.8.5 → debugpy-1.8.6}/src/debugpy/_vendored/pydevd/_pydevd_bundle/pydevd_collect_bytecode_info.py +239 -176
- {debugpy-1.8.5 → debugpy-1.8.6}/src/debugpy/_vendored/pydevd/_pydevd_bundle/pydevd_comm.py +370 -297
- {debugpy-1.8.5 → debugpy-1.8.6}/src/debugpy/_vendored/pydevd/_pydevd_bundle/pydevd_comm_constants.py +78 -86
- {debugpy-1.8.5 → debugpy-1.8.6}/src/debugpy/_vendored/pydevd/_pydevd_bundle/pydevd_command_line_handling.py +55 -59
- {debugpy-1.8.5 → debugpy-1.8.6}/src/debugpy/_vendored/pydevd/_pydevd_bundle/pydevd_concurrency_analyser/pydevd_concurrency_logger.py +194 -58
- {debugpy-1.8.5 → debugpy-1.8.6}/src/debugpy/_vendored/pydevd/_pydevd_bundle/pydevd_concurrency_analyser/pydevd_thread_wrappers.py +2 -3
- {debugpy-1.8.5 → debugpy-1.8.6}/src/debugpy/_vendored/pydevd/_pydevd_bundle/pydevd_console.py +18 -23
- {debugpy-1.8.5 → debugpy-1.8.6}/src/debugpy/_vendored/pydevd/_pydevd_bundle/pydevd_constants.py +157 -127
- {debugpy-1.8.5 → debugpy-1.8.6}/src/debugpy/_vendored/pydevd/_pydevd_bundle/pydevd_custom_frames.py +10 -12
- {debugpy-1.8.5 → debugpy-1.8.6}/src/debugpy/_vendored/pydevd/_pydevd_bundle/pydevd_cython.c +35217 -23106
- {debugpy-1.8.5 → debugpy-1.8.6}/src/debugpy/_vendored/pydevd/_pydevd_bundle/pydevd_cython.pxd +15 -0
- {debugpy-1.8.5 → debugpy-1.8.6}/src/debugpy/_vendored/pydevd/_pydevd_bundle/pydevd_cython.pyx +802 -511
- {debugpy-1.8.5 → debugpy-1.8.6}/src/debugpy/_vendored/pydevd/_pydevd_bundle/pydevd_cython_wrapper.py +18 -7
- {debugpy-1.8.5 → debugpy-1.8.6}/src/debugpy/_vendored/pydevd/_pydevd_bundle/pydevd_daemon_thread.py +32 -24
- {debugpy-1.8.5 → debugpy-1.8.6}/src/debugpy/_vendored/pydevd/_pydevd_bundle/pydevd_defaults.py +11 -13
- {debugpy-1.8.5 → debugpy-1.8.6}/src/debugpy/_vendored/pydevd/_pydevd_bundle/pydevd_dont_trace.py +16 -16
- {debugpy-1.8.5 → debugpy-1.8.6}/src/debugpy/_vendored/pydevd/_pydevd_bundle/pydevd_dont_trace_files.py +27 -2
- {debugpy-1.8.5 → debugpy-1.8.6}/src/debugpy/_vendored/pydevd/_pydevd_bundle/pydevd_exec2.py +1 -1
- {debugpy-1.8.5 → debugpy-1.8.6}/src/debugpy/_vendored/pydevd/_pydevd_bundle/pydevd_extension_api.py +4 -5
- {debugpy-1.8.5 → debugpy-1.8.6}/src/debugpy/_vendored/pydevd/_pydevd_bundle/pydevd_extension_utils.py +8 -10
- {debugpy-1.8.5 → debugpy-1.8.6}/src/debugpy/_vendored/pydevd/_pydevd_bundle/pydevd_filtering.py +50 -45
- {debugpy-1.8.5 → debugpy-1.8.6}/src/debugpy/_vendored/pydevd/_pydevd_bundle/pydevd_frame.py +462 -407
- {debugpy-1.8.5 → debugpy-1.8.6}/src/debugpy/_vendored/pydevd/_pydevd_bundle/pydevd_frame_utils.py +63 -61
- {debugpy-1.8.5 → debugpy-1.8.6}/src/debugpy/_vendored/pydevd/_pydevd_bundle/pydevd_gevent_integration.py +14 -16
- {debugpy-1.8.5 → debugpy-1.8.6}/src/debugpy/_vendored/pydevd/_pydevd_bundle/pydevd_import_class.py +27 -25
- {debugpy-1.8.5 → debugpy-1.8.6}/src/debugpy/_vendored/pydevd/_pydevd_bundle/pydevd_io.py +40 -42
- debugpy-1.8.6/src/debugpy/_vendored/pydevd/_pydevd_bundle/pydevd_json_debug_options.py +200 -0
- {debugpy-1.8.5 → debugpy-1.8.6}/src/debugpy/_vendored/pydevd/_pydevd_bundle/pydevd_net_command.py +20 -19
- {debugpy-1.8.5 → debugpy-1.8.6}/src/debugpy/_vendored/pydevd/_pydevd_bundle/pydevd_net_command_factory_json.py +199 -108
- {debugpy-1.8.5 → debugpy-1.8.6}/src/debugpy/_vendored/pydevd/_pydevd_bundle/pydevd_net_command_factory_xml.py +121 -73
- debugpy-1.8.6/src/debugpy/_vendored/pydevd/_pydevd_bundle/pydevd_plugin_utils.py +208 -0
- {debugpy-1.8.5 → debugpy-1.8.6}/src/debugpy/_vendored/pydevd/_pydevd_bundle/pydevd_process_net_command.py +206 -159
- {debugpy-1.8.5 → debugpy-1.8.6}/src/debugpy/_vendored/pydevd/_pydevd_bundle/pydevd_process_net_command_json.py +346 -334
- {debugpy-1.8.5 → debugpy-1.8.6}/src/debugpy/_vendored/pydevd/_pydevd_bundle/pydevd_referrers.py +75 -80
- {debugpy-1.8.5 → debugpy-1.8.6}/src/debugpy/_vendored/pydevd/_pydevd_bundle/pydevd_reload.py +35 -35
- {debugpy-1.8.5 → debugpy-1.8.6}/src/debugpy/_vendored/pydevd/_pydevd_bundle/pydevd_resolver.py +116 -124
- {debugpy-1.8.5 → debugpy-1.8.6}/src/debugpy/_vendored/pydevd/_pydevd_bundle/pydevd_runpy.py +44 -58
- {debugpy-1.8.5 → debugpy-1.8.6}/src/debugpy/_vendored/pydevd/_pydevd_bundle/pydevd_safe_repr.py +51 -55
- {debugpy-1.8.5 → debugpy-1.8.6}/src/debugpy/_vendored/pydevd/_pydevd_bundle/pydevd_save_locals.py +4 -2
- {debugpy-1.8.5 → debugpy-1.8.6}/src/debugpy/_vendored/pydevd/_pydevd_bundle/pydevd_signature.py +24 -24
- {debugpy-1.8.5 → debugpy-1.8.6}/src/debugpy/_vendored/pydevd/_pydevd_bundle/pydevd_source_mapping.py +19 -20
- {debugpy-1.8.5 → debugpy-1.8.6}/src/debugpy/_vendored/pydevd/_pydevd_bundle/pydevd_stackless.py +45 -49
- {debugpy-1.8.5 → debugpy-1.8.6}/src/debugpy/_vendored/pydevd/_pydevd_bundle/pydevd_suspended_frames.py +61 -58
- {debugpy-1.8.5 → debugpy-1.8.6}/src/debugpy/_vendored/pydevd/_pydevd_bundle/pydevd_thread_lifecycle.py +23 -13
- {debugpy-1.8.5 → debugpy-1.8.6}/src/debugpy/_vendored/pydevd/_pydevd_bundle/pydevd_timeout.py +29 -31
- {debugpy-1.8.5 → debugpy-1.8.6}/src/debugpy/_vendored/pydevd/_pydevd_bundle/pydevd_trace_dispatch.py +41 -11
- {debugpy-1.8.5 → debugpy-1.8.6}/src/debugpy/_vendored/pydevd/_pydevd_bundle/pydevd_trace_dispatch_regular.py +117 -55
- {debugpy-1.8.5 → debugpy-1.8.6}/src/debugpy/_vendored/pydevd/_pydevd_bundle/pydevd_traceproperty.py +11 -14
- {debugpy-1.8.5 → debugpy-1.8.6}/src/debugpy/_vendored/pydevd/_pydevd_bundle/pydevd_utils.py +90 -89
- {debugpy-1.8.5 → debugpy-1.8.6}/src/debugpy/_vendored/pydevd/_pydevd_bundle/pydevd_vars.py +106 -97
- debugpy-1.8.6/src/debugpy/_vendored/pydevd/_pydevd_bundle/pydevd_vm_type.py +40 -0
- {debugpy-1.8.5 → debugpy-1.8.6}/src/debugpy/_vendored/pydevd/_pydevd_bundle/pydevd_xml.py +56 -46
- {debugpy-1.8.5 → debugpy-1.8.6}/src/debugpy/_vendored/pydevd/_pydevd_frame_eval/pydevd_frame_eval_cython_wrapper.py +5 -5
- debugpy-1.8.6/src/debugpy/_vendored/pydevd/_pydevd_frame_eval/pydevd_frame_eval_main.py +71 -0
- {debugpy-1.8.5 → debugpy-1.8.6}/src/debugpy/_vendored/pydevd/_pydevd_frame_eval/pydevd_frame_evaluator.c +11165 -5326
- {debugpy-1.8.5 → debugpy-1.8.6}/src/debugpy/_vendored/pydevd/_pydevd_frame_eval/pydevd_frame_tracing.py +5 -6
- {debugpy-1.8.5 → debugpy-1.8.6}/src/debugpy/_vendored/pydevd/_pydevd_frame_eval/pydevd_modify_bytecode.py +53 -56
- {debugpy-1.8.5 → debugpy-1.8.6}/src/debugpy/_vendored/pydevd/_pydevd_frame_eval/vendored/bytecode/__init__.py +1 -0
- {debugpy-1.8.5 → debugpy-1.8.6}/src/debugpy/_vendored/pydevd/_pydevd_frame_eval/vendored/bytecode/bytecode.py +4 -6
- {debugpy-1.8.5 → debugpy-1.8.6}/src/debugpy/_vendored/pydevd/_pydevd_frame_eval/vendored/bytecode/cfg.py +6 -26
- {debugpy-1.8.5 → debugpy-1.8.6}/src/debugpy/_vendored/pydevd/_pydevd_frame_eval/vendored/bytecode/concrete.py +7 -21
- {debugpy-1.8.5 → debugpy-1.8.6}/src/debugpy/_vendored/pydevd/_pydevd_frame_eval/vendored/bytecode/flags.py +5 -24
- {debugpy-1.8.5 → debugpy-1.8.6}/src/debugpy/_vendored/pydevd/_pydevd_frame_eval/vendored/bytecode/instr.py +10 -34
- {debugpy-1.8.5 → debugpy-1.8.6}/src/debugpy/_vendored/pydevd/_pydevd_frame_eval/vendored/bytecode/peephole_opt.py +1 -4
- {debugpy-1.8.5 → debugpy-1.8.6}/src/debugpy/_vendored/pydevd/_pydevd_frame_eval/vendored/bytecode/tests/__init__.py +2 -6
- {debugpy-1.8.5 → debugpy-1.8.6}/src/debugpy/_vendored/pydevd/_pydevd_frame_eval/vendored/bytecode/tests/test_bytecode.py +3 -5
- {debugpy-1.8.5 → debugpy-1.8.6}/src/debugpy/_vendored/pydevd/_pydevd_frame_eval/vendored/bytecode/tests/test_cfg.py +11 -31
- {debugpy-1.8.5 → debugpy-1.8.6}/src/debugpy/_vendored/pydevd/_pydevd_frame_eval/vendored/bytecode/tests/test_code.py +2 -2
- {debugpy-1.8.5 → debugpy-1.8.6}/src/debugpy/_vendored/pydevd/_pydevd_frame_eval/vendored/bytecode/tests/test_concrete.py +14 -41
- {debugpy-1.8.5 → debugpy-1.8.6}/src/debugpy/_vendored/pydevd/_pydevd_frame_eval/vendored/bytecode/tests/test_flags.py +2 -4
- {debugpy-1.8.5 → debugpy-1.8.6}/src/debugpy/_vendored/pydevd/_pydevd_frame_eval/vendored/bytecode/tests/test_instr.py +7 -18
- {debugpy-1.8.5 → debugpy-1.8.6}/src/debugpy/_vendored/pydevd/_pydevd_frame_eval/vendored/bytecode/tests/test_misc.py +6 -18
- {debugpy-1.8.5 → debugpy-1.8.6}/src/debugpy/_vendored/pydevd/_pydevd_frame_eval/vendored/bytecode/tests/test_peephole_opt.py +7 -18
- {debugpy-1.8.5 → debugpy-1.8.6}/src/debugpy/_vendored/pydevd/_pydevd_frame_eval/vendored/bytecode/tests/util_annotation.py +1 -3
- {debugpy-1.8.5 → debugpy-1.8.6}/src/debugpy/_vendored/pydevd/_pydevd_frame_eval/vendored/pydevd_fix_code.py +14 -19
- debugpy-1.8.6/src/debugpy/_vendored/pydevd/_pydevd_sys_monitoring/_pydevd_sys_monitoring.py +1927 -0
- debugpy-1.8.6/src/debugpy/_vendored/pydevd/_pydevd_sys_monitoring/_pydevd_sys_monitoring_cython.c +43058 -0
- debugpy-1.8.6/src/debugpy/_vendored/pydevd/_pydevd_sys_monitoring/_pydevd_sys_monitoring_cython.pxd +46 -0
- debugpy-1.8.6/src/debugpy/_vendored/pydevd/_pydevd_sys_monitoring/_pydevd_sys_monitoring_cython.pyx +1934 -0
- debugpy-1.8.6/src/debugpy/_vendored/pydevd/_pydevd_sys_monitoring/pydevd_sys_monitoring.py +16 -0
- {debugpy-1.8.5 → debugpy-1.8.6}/src/debugpy/_vendored/pydevd/pydev_app_engine_debug_startup.py +12 -11
- {debugpy-1.8.5 → debugpy-1.8.6}/src/debugpy/_vendored/pydevd/pydev_coverage.py +30 -32
- {debugpy-1.8.5 → debugpy-1.8.6}/src/debugpy/_vendored/pydevd/pydev_ipython/inputhook.py +58 -54
- {debugpy-1.8.5 → debugpy-1.8.6}/src/debugpy/_vendored/pydevd/pydev_ipython/inputhookglut.py +20 -24
- {debugpy-1.8.5 → debugpy-1.8.6}/src/debugpy/_vendored/pydevd/pydev_ipython/inputhookgtk.py +8 -7
- {debugpy-1.8.5 → debugpy-1.8.6}/src/debugpy/_vendored/pydevd/pydev_ipython/inputhookgtk3.py +8 -6
- {debugpy-1.8.5 → debugpy-1.8.6}/src/debugpy/_vendored/pydevd/pydev_ipython/inputhookpyglet.py +11 -8
- {debugpy-1.8.5 → debugpy-1.8.6}/src/debugpy/_vendored/pydevd/pydev_ipython/inputhookqt4.py +21 -18
- {debugpy-1.8.5 → debugpy-1.8.6}/src/debugpy/_vendored/pydevd/pydev_ipython/inputhookqt5.py +17 -15
- {debugpy-1.8.5 → debugpy-1.8.6}/src/debugpy/_vendored/pydevd/pydev_ipython/inputhookqt6.py +17 -15
- {debugpy-1.8.5 → debugpy-1.8.6}/src/debugpy/_vendored/pydevd/pydev_ipython/inputhooktk.py +6 -4
- {debugpy-1.8.5 → debugpy-1.8.6}/src/debugpy/_vendored/pydevd/pydev_ipython/inputhookwx.py +14 -10
- {debugpy-1.8.5 → debugpy-1.8.6}/src/debugpy/_vendored/pydevd/pydev_ipython/matplotlibtools.py +30 -26
- debugpy-1.8.6/src/debugpy/_vendored/pydevd/pydev_ipython/qt.py +24 -0
- {debugpy-1.8.5 → debugpy-1.8.6}/src/debugpy/_vendored/pydevd/pydev_ipython/qt_for_kernel.py +37 -34
- {debugpy-1.8.5 → debugpy-1.8.6}/src/debugpy/_vendored/pydevd/pydev_ipython/qt_loaders.py +86 -73
- {debugpy-1.8.5 → debugpy-1.8.6}/src/debugpy/_vendored/pydevd/pydev_ipython/version.py +7 -7
- debugpy-1.8.6/src/debugpy/_vendored/pydevd/pydev_pysrc.py +1 -0
- {debugpy-1.8.5 → debugpy-1.8.6}/src/debugpy/_vendored/pydevd/pydev_run_in_console.py +23 -24
- debugpy-1.8.6/src/debugpy/_vendored/pydevd/pydev_sitecustomize/sitecustomize.py +267 -0
- {debugpy-1.8.5 → debugpy-1.8.6}/src/debugpy/_vendored/pydevd/pydevconsole.py +55 -47
- {debugpy-1.8.5 → debugpy-1.8.6}/src/debugpy/_vendored/pydevd/pydevd.py +732 -508
- debugpy-1.8.6/src/debugpy/_vendored/pydevd/pydevd_attach_to_process/_always_live_program.py +40 -0
- {debugpy-1.8.5 → debugpy-1.8.6}/src/debugpy/_vendored/pydevd/pydevd_attach_to_process/_check.py +1 -0
- debugpy-1.8.6/src/debugpy/_vendored/pydevd/pydevd_attach_to_process/_test_attach_to_process.py +11 -0
- debugpy-1.8.6/src/debugpy/_vendored/pydevd/pydevd_attach_to_process/_test_attach_to_process_linux.py +75 -0
- {debugpy-1.8.5 → debugpy-1.8.6}/src/debugpy/_vendored/pydevd/pydevd_attach_to_process/add_code_to_python_process.py +130 -125
- debugpy-1.8.6/src/debugpy/_vendored/pydevd/pydevd_attach_to_process/attach_amd64.dll +0 -0
- debugpy-1.8.6/src/debugpy/_vendored/pydevd/pydevd_attach_to_process/attach_amd64.pdb +0 -0
- debugpy-1.8.6/src/debugpy/_vendored/pydevd/pydevd_attach_to_process/attach_pydevd.py +89 -0
- {debugpy-1.8.5 → debugpy-1.8.6}/src/debugpy/_vendored/pydevd/pydevd_attach_to_process/attach_script.py +41 -32
- debugpy-1.8.6/src/debugpy/_vendored/pydevd/pydevd_attach_to_process/attach_x86.dll +0 -0
- debugpy-1.8.6/src/debugpy/_vendored/pydevd/pydevd_attach_to_process/attach_x86.pdb +0 -0
- {debugpy-1.8.5 → debugpy-1.8.6}/src/debugpy/_vendored/pydevd/pydevd_attach_to_process/common/py_utils.hpp +1 -0
- {debugpy-1.8.5 → debugpy-1.8.6}/src/debugpy/_vendored/pydevd/pydevd_attach_to_process/common/py_version.hpp +9 -1
- debugpy-1.8.6/src/debugpy/_vendored/pydevd/pydevd_attach_to_process/inject_dll_amd64.exe +0 -0
- debugpy-1.8.6/src/debugpy/_vendored/pydevd/pydevd_attach_to_process/inject_dll_amd64.pdb +0 -0
- {debugpy-1.8.5 → debugpy-1.8.6}/src/debugpy/_vendored/pydevd/pydevd_attach_to_process/inject_dll_x86.exe +0 -0
- debugpy-1.8.6/src/debugpy/_vendored/pydevd/pydevd_attach_to_process/inject_dll_x86.pdb +0 -0
- {debugpy-1.8.5 → debugpy-1.8.6}/src/debugpy/_vendored/pydevd/pydevd_attach_to_process/linux_and_mac/lldb_prepare.py +10 -9
- debugpy-1.8.6/src/debugpy/_vendored/pydevd/pydevd_attach_to_process/run_code_on_dllmain_amd64.dll +0 -0
- debugpy-1.8.6/src/debugpy/_vendored/pydevd/pydevd_attach_to_process/run_code_on_dllmain_amd64.pdb +0 -0
- debugpy-1.8.6/src/debugpy/_vendored/pydevd/pydevd_attach_to_process/run_code_on_dllmain_x86.dll +0 -0
- debugpy-1.8.6/src/debugpy/_vendored/pydevd/pydevd_attach_to_process/run_code_on_dllmain_x86.pdb +0 -0
- {debugpy-1.8.5 → debugpy-1.8.6}/src/debugpy/_vendored/pydevd/pydevd_attach_to_process/winappdbg/__init__.py +103 -119
- {debugpy-1.8.5 → debugpy-1.8.6}/src/debugpy/_vendored/pydevd/pydevd_attach_to_process/winappdbg/breakpoint.py +457 -516
- {debugpy-1.8.5 → debugpy-1.8.6}/src/debugpy/_vendored/pydevd/pydevd_attach_to_process/winappdbg/compat.py +33 -15
- {debugpy-1.8.5 → debugpy-1.8.6}/src/debugpy/_vendored/pydevd/pydevd_attach_to_process/winappdbg/crash.py +336 -281
- {debugpy-1.8.5 → debugpy-1.8.6}/src/debugpy/_vendored/pydevd/pydevd_attach_to_process/winappdbg/debug.py +101 -131
- {debugpy-1.8.5 → debugpy-1.8.6}/src/debugpy/_vendored/pydevd/pydevd_attach_to_process/winappdbg/disasm.py +148 -153
- {debugpy-1.8.5 → debugpy-1.8.6}/src/debugpy/_vendored/pydevd/pydevd_attach_to_process/winappdbg/event.py +310 -302
- {debugpy-1.8.5 → debugpy-1.8.6}/src/debugpy/_vendored/pydevd/pydevd_attach_to_process/winappdbg/interactive.py +235 -208
- {debugpy-1.8.5 → debugpy-1.8.6}/src/debugpy/_vendored/pydevd/pydevd_attach_to_process/winappdbg/module.py +185 -218
- {debugpy-1.8.5 → debugpy-1.8.6}/src/debugpy/_vendored/pydevd/pydevd_attach_to_process/winappdbg/process.py +428 -564
- {debugpy-1.8.5 → debugpy-1.8.6}/src/debugpy/_vendored/pydevd/pydevd_attach_to_process/winappdbg/registry.py +54 -53
- {debugpy-1.8.5 → debugpy-1.8.6}/src/debugpy/_vendored/pydevd/pydevd_attach_to_process/winappdbg/search.py +69 -73
- {debugpy-1.8.5 → debugpy-1.8.6}/src/debugpy/_vendored/pydevd/pydevd_attach_to_process/winappdbg/sql.py +158 -170
- {debugpy-1.8.5 → debugpy-1.8.6}/src/debugpy/_vendored/pydevd/pydevd_attach_to_process/winappdbg/system.py +143 -213
- {debugpy-1.8.5 → debugpy-1.8.6}/src/debugpy/_vendored/pydevd/pydevd_attach_to_process/winappdbg/textio.py +302 -333
- {debugpy-1.8.5 → debugpy-1.8.6}/src/debugpy/_vendored/pydevd/pydevd_attach_to_process/winappdbg/thread.py +220 -239
- {debugpy-1.8.5 → debugpy-1.8.6}/src/debugpy/_vendored/pydevd/pydevd_attach_to_process/winappdbg/util.py +198 -177
- {debugpy-1.8.5 → debugpy-1.8.6}/src/debugpy/_vendored/pydevd/pydevd_attach_to_process/winappdbg/win32/__init__.py +11 -11
- {debugpy-1.8.5 → debugpy-1.8.6}/src/debugpy/_vendored/pydevd/pydevd_attach_to_process/winappdbg/win32/advapi32.py +1191 -713
- {debugpy-1.8.5 → debugpy-1.8.6}/src/debugpy/_vendored/pydevd/pydevd_attach_to_process/winappdbg/win32/context_amd64.py +248 -194
- {debugpy-1.8.5 → debugpy-1.8.6}/src/debugpy/_vendored/pydevd/pydevd_attach_to_process/winappdbg/win32/context_i386.py +132 -120
- {debugpy-1.8.5 → debugpy-1.8.6}/src/debugpy/_vendored/pydevd/pydevd_attach_to_process/winappdbg/win32/dbghelp.py +450 -346
- {debugpy-1.8.5 → debugpy-1.8.6}/src/debugpy/_vendored/pydevd/pydevd_attach_to_process/winappdbg/win32/defines.py +305 -286
- debugpy-1.8.6/src/debugpy/_vendored/pydevd/pydevd_attach_to_process/winappdbg/win32/gdi32.py +526 -0
- {debugpy-1.8.5 → debugpy-1.8.6}/src/debugpy/_vendored/pydevd/pydevd_attach_to_process/winappdbg/win32/kernel32.py +1479 -1097
- debugpy-1.8.6/src/debugpy/_vendored/pydevd/pydevd_attach_to_process/winappdbg/win32/ntdll.py +579 -0
- debugpy-1.8.6/src/debugpy/_vendored/pydevd/pydevd_attach_to_process/winappdbg/win32/peb_teb.py +3517 -0
- {debugpy-1.8.5 → debugpy-1.8.6}/src/debugpy/_vendored/pydevd/pydevd_attach_to_process/winappdbg/win32/psapi.py +54 -31
- {debugpy-1.8.5 → debugpy-1.8.6}/src/debugpy/_vendored/pydevd/pydevd_attach_to_process/winappdbg/win32/shell32.py +170 -149
- {debugpy-1.8.5 → debugpy-1.8.6}/src/debugpy/_vendored/pydevd/pydevd_attach_to_process/winappdbg/win32/shlwapi.py +190 -108
- {debugpy-1.8.5 → debugpy-1.8.6}/src/debugpy/_vendored/pydevd/pydevd_attach_to_process/winappdbg/win32/user32.py +542 -437
- {debugpy-1.8.5 → debugpy-1.8.6}/src/debugpy/_vendored/pydevd/pydevd_attach_to_process/winappdbg/win32/version.py +489 -442
- {debugpy-1.8.5 → debugpy-1.8.6}/src/debugpy/_vendored/pydevd/pydevd_attach_to_process/winappdbg/win32/wtsapi32.py +83 -65
- {debugpy-1.8.5 → debugpy-1.8.6}/src/debugpy/_vendored/pydevd/pydevd_attach_to_process/winappdbg/window.py +70 -76
- {debugpy-1.8.5 → debugpy-1.8.6}/src/debugpy/_vendored/pydevd/pydevd_attach_to_process/windows/attach.cpp +17 -9
- {debugpy-1.8.5 → debugpy-1.8.6}/src/debugpy/_vendored/pydevd/pydevd_attach_to_process/windows/compile_windows.bat +1 -1
- {debugpy-1.8.5 → debugpy-1.8.6}/src/debugpy/_vendored/pydevd/pydevd_file_utils.py +141 -120
- {debugpy-1.8.5 → debugpy-1.8.6}/src/debugpy/_vendored/pydevd/pydevd_plugins/__init__.py +1 -0
- {debugpy-1.8.5 → debugpy-1.8.6}/src/debugpy/_vendored/pydevd/pydevd_plugins/django_debug.py +175 -149
- {debugpy-1.8.5 → debugpy-1.8.6}/src/debugpy/_vendored/pydevd/pydevd_plugins/extensions/__init__.py +1 -0
- {debugpy-1.8.5 → debugpy-1.8.6}/src/debugpy/_vendored/pydevd/pydevd_plugins/extensions/types/__init__.py +1 -0
- {debugpy-1.8.5 → debugpy-1.8.6}/src/debugpy/_vendored/pydevd/pydevd_plugins/extensions/types/pydevd_helpers.py +5 -5
- {debugpy-1.8.5 → debugpy-1.8.6}/src/debugpy/_vendored/pydevd/pydevd_plugins/extensions/types/pydevd_plugin_numpy_types.py +28 -28
- {debugpy-1.8.5 → debugpy-1.8.6}/src/debugpy/_vendored/pydevd/pydevd_plugins/extensions/types/pydevd_plugin_pandas_types.py +22 -30
- {debugpy-1.8.5 → debugpy-1.8.6}/src/debugpy/_vendored/pydevd/pydevd_plugins/extensions/types/pydevd_plugins_django_form_str.py +3 -2
- {debugpy-1.8.5 → debugpy-1.8.6}/src/debugpy/_vendored/pydevd/pydevd_plugins/jinja2_debug.py +130 -108
- {debugpy-1.8.5 → debugpy-1.8.6}/src/debugpy/_vendored/pydevd/pydevd_plugins/pydevd_line_validation.py +27 -14
- {debugpy-1.8.5 → debugpy-1.8.6}/src/debugpy/_vendored/pydevd/pydevd_tracing.py +85 -66
- {debugpy-1.8.5 → debugpy-1.8.6}/src/debugpy/_vendored/pydevd/setup_pydevd_cython.py +96 -59
- {debugpy-1.8.5 → debugpy-1.8.6}/src/debugpy/_version.py +3 -3
- {debugpy-1.8.5 → debugpy-1.8.6}/src/debugpy/common/messaging.py +2 -1
- {debugpy-1.8.5 → debugpy-1.8.6}/src/debugpy/server/cli.py +32 -17
- {debugpy-1.8.5 → debugpy-1.8.6/src/debugpy.egg-info}/PKG-INFO +1 -1
- {debugpy-1.8.5 → debugpy-1.8.6}/src/debugpy.egg-info/SOURCES.txt +6 -1
- debugpy-1.8.5/src/debugpy/_vendored/pydevd/_pydev_bundle/_pydev_filesystem_encoding.py +0 -41
- debugpy-1.8.5/src/debugpy/_vendored/pydevd/_pydev_runfiles/pydev_runfiles_coverage.py +0 -76
- debugpy-1.8.5/src/debugpy/_vendored/pydevd/_pydevd_bundle/_debug_adapter/__main__pydevd_gen_debug_adapter_protocol.py +0 -592
- debugpy-1.8.5/src/debugpy/_vendored/pydevd/_pydevd_bundle/_debug_adapter/pydevd_schema.py +0 -19514
- debugpy-1.8.5/src/debugpy/_vendored/pydevd/_pydevd_bundle/pydevd_additional_thread_info.py +0 -19
- debugpy-1.8.5/src/debugpy/_vendored/pydevd/_pydevd_bundle/pydevd_additional_thread_info_regular.py +0 -153
- debugpy-1.8.5/src/debugpy/_vendored/pydevd/_pydevd_bundle/pydevd_json_debug_options.py +0 -204
- debugpy-1.8.5/src/debugpy/_vendored/pydevd/_pydevd_bundle/pydevd_plugin_utils.py +0 -91
- debugpy-1.8.5/src/debugpy/_vendored/pydevd/_pydevd_bundle/pydevd_trace_api.py +0 -62
- debugpy-1.8.5/src/debugpy/_vendored/pydevd/_pydevd_bundle/pydevd_vm_type.py +0 -41
- debugpy-1.8.5/src/debugpy/_vendored/pydevd/_pydevd_frame_eval/pydevd_frame_eval_main.py +0 -48
- debugpy-1.8.5/src/debugpy/_vendored/pydevd/pydev_ipython/qt.py +0 -23
- debugpy-1.8.5/src/debugpy/_vendored/pydevd/pydev_pysrc.py +0 -1
- debugpy-1.8.5/src/debugpy/_vendored/pydevd/pydev_sitecustomize/sitecustomize.py +0 -237
- debugpy-1.8.5/src/debugpy/_vendored/pydevd/pydevd_attach_to_process/_always_live_program.py +0 -32
- debugpy-1.8.5/src/debugpy/_vendored/pydevd/pydevd_attach_to_process/_test_attach_to_process.py +0 -9
- debugpy-1.8.5/src/debugpy/_vendored/pydevd/pydevd_attach_to_process/_test_attach_to_process_linux.py +0 -74
- debugpy-1.8.5/src/debugpy/_vendored/pydevd/pydevd_attach_to_process/attach_amd64.dll +0 -0
- debugpy-1.8.5/src/debugpy/_vendored/pydevd/pydevd_attach_to_process/attach_amd64.pdb +0 -0
- debugpy-1.8.5/src/debugpy/_vendored/pydevd/pydevd_attach_to_process/attach_pydevd.py +0 -79
- debugpy-1.8.5/src/debugpy/_vendored/pydevd/pydevd_attach_to_process/attach_x86.dll +0 -0
- debugpy-1.8.5/src/debugpy/_vendored/pydevd/pydevd_attach_to_process/attach_x86.pdb +0 -0
- debugpy-1.8.5/src/debugpy/_vendored/pydevd/pydevd_attach_to_process/inject_dll_amd64.exe +0 -0
- debugpy-1.8.5/src/debugpy/_vendored/pydevd/pydevd_attach_to_process/inject_dll_amd64.pdb +0 -0
- debugpy-1.8.5/src/debugpy/_vendored/pydevd/pydevd_attach_to_process/inject_dll_x86.pdb +0 -0
- debugpy-1.8.5/src/debugpy/_vendored/pydevd/pydevd_attach_to_process/run_code_on_dllmain_amd64.dll +0 -0
- debugpy-1.8.5/src/debugpy/_vendored/pydevd/pydevd_attach_to_process/run_code_on_dllmain_amd64.pdb +0 -0
- debugpy-1.8.5/src/debugpy/_vendored/pydevd/pydevd_attach_to_process/run_code_on_dllmain_x86.dll +0 -0
- debugpy-1.8.5/src/debugpy/_vendored/pydevd/pydevd_attach_to_process/run_code_on_dllmain_x86.pdb +0 -0
- debugpy-1.8.5/src/debugpy/_vendored/pydevd/pydevd_attach_to_process/winappdbg/win32/gdi32.py +0 -507
- debugpy-1.8.5/src/debugpy/_vendored/pydevd/pydevd_attach_to_process/winappdbg/win32/ntdll.py +0 -539
- debugpy-1.8.5/src/debugpy/_vendored/pydevd/pydevd_attach_to_process/winappdbg/win32/peb_teb.py +0 -3435
- {debugpy-1.8.5 → debugpy-1.8.6}/DESCRIPTION.md +0 -0
- {debugpy-1.8.5 → debugpy-1.8.6}/LICENSE +0 -0
- {debugpy-1.8.5 → debugpy-1.8.6}/MANIFEST.in +0 -0
- {debugpy-1.8.5 → debugpy-1.8.6}/README.md +0 -0
- {debugpy-1.8.5 → debugpy-1.8.6}/pyproject.toml +0 -0
- {debugpy-1.8.5 → debugpy-1.8.6}/setup.cfg +0 -0
- {debugpy-1.8.5 → debugpy-1.8.6}/setup.py +0 -0
- {debugpy-1.8.5 → debugpy-1.8.6}/src/debugpy/ThirdPartyNotices.txt +0 -0
- {debugpy-1.8.5 → debugpy-1.8.6}/src/debugpy/__init__.py +0 -0
- {debugpy-1.8.5 → debugpy-1.8.6}/src/debugpy/__main__.py +0 -0
- {debugpy-1.8.5 → debugpy-1.8.6}/src/debugpy/_vendored/__init__.py +0 -0
- {debugpy-1.8.5 → debugpy-1.8.6}/src/debugpy/_vendored/_pydevd_packaging.py +0 -0
- {debugpy-1.8.5 → debugpy-1.8.6}/src/debugpy/_vendored/_util.py +0 -0
- {debugpy-1.8.5 → debugpy-1.8.6}/src/debugpy/_vendored/force_pydevd.py +0 -0
- {debugpy-1.8.5 → debugpy-1.8.6}/src/debugpy/_vendored/pydevd/_pydev_bundle/__init__.py +0 -0
- {debugpy-1.8.5 → debugpy-1.8.6}/src/debugpy/_vendored/pydevd/_pydev_runfiles/__init__.py +0 -0
- {debugpy-1.8.5 → debugpy-1.8.6}/src/debugpy/_vendored/pydevd/_pydevd_bundle/__init__.py +0 -0
- {debugpy-1.8.5 → debugpy-1.8.6}/src/debugpy/_vendored/pydevd/_pydevd_bundle/_debug_adapter/__init__.py +0 -0
- {debugpy-1.8.5 → debugpy-1.8.6}/src/debugpy/_vendored/pydevd/_pydevd_bundle/_debug_adapter/debugProtocolCustom.json +0 -0
- {debugpy-1.8.5 → debugpy-1.8.6}/src/debugpy/_vendored/pydevd/_pydevd_bundle/pydevd_concurrency_analyser/__init__.py +0 -0
- {debugpy-1.8.5 → debugpy-1.8.6}/src/debugpy/_vendored/pydevd/_pydevd_frame_eval/.gitignore +0 -0
- {debugpy-1.8.5 → debugpy-1.8.6}/src/debugpy/_vendored/pydevd/_pydevd_frame_eval/__init__.py +0 -0
- {debugpy-1.8.5 → debugpy-1.8.6}/src/debugpy/_vendored/pydevd/_pydevd_frame_eval/pydevd_frame_evaluator.pxd +0 -0
- {debugpy-1.8.5 → debugpy-1.8.6}/src/debugpy/_vendored/pydevd/_pydevd_frame_eval/pydevd_frame_evaluator.pyx +0 -0
- {debugpy-1.8.5 → debugpy-1.8.6}/src/debugpy/_vendored/pydevd/_pydevd_frame_eval/pydevd_frame_evaluator.template.pyx +0 -0
- {debugpy-1.8.5 → debugpy-1.8.6}/src/debugpy/_vendored/pydevd/_pydevd_frame_eval/release_mem.h +0 -0
- {debugpy-1.8.5 → debugpy-1.8.6}/src/debugpy/_vendored/pydevd/_pydevd_frame_eval/vendored/README.txt +0 -0
- {debugpy-1.8.5 → debugpy-1.8.6}/src/debugpy/_vendored/pydevd/_pydevd_frame_eval/vendored/__init__.py +0 -0
- {debugpy-1.8.5 → debugpy-1.8.6}/src/debugpy/_vendored/pydevd/pydev_ipython/README +0 -0
- {debugpy-1.8.5 → debugpy-1.8.6}/src/debugpy/_vendored/pydevd/pydev_ipython/__init__.py +0 -0
- {debugpy-1.8.5 → debugpy-1.8.6}/src/debugpy/_vendored/pydevd/pydev_sitecustomize/__not_in_default_pythonpath.txt +0 -0
- {debugpy-1.8.5 → debugpy-1.8.6}/src/debugpy/_vendored/pydevd/pydevd_attach_to_process/README.txt +0 -0
- {debugpy-1.8.5 → debugpy-1.8.6}/src/debugpy/_vendored/pydevd/pydevd_attach_to_process/common/py_custom_pyeval_settrace.hpp +0 -0
- {debugpy-1.8.5 → debugpy-1.8.6}/src/debugpy/_vendored/pydevd/pydevd_attach_to_process/common/py_custom_pyeval_settrace_310.hpp +0 -0
- {debugpy-1.8.5 → debugpy-1.8.6}/src/debugpy/_vendored/pydevd/pydevd_attach_to_process/common/py_custom_pyeval_settrace_311.hpp +0 -0
- {debugpy-1.8.5 → debugpy-1.8.6}/src/debugpy/_vendored/pydevd/pydevd_attach_to_process/common/py_custom_pyeval_settrace_common.hpp +0 -0
- {debugpy-1.8.5 → debugpy-1.8.6}/src/debugpy/_vendored/pydevd/pydevd_attach_to_process/common/py_settrace.hpp +0 -0
- {debugpy-1.8.5 → debugpy-1.8.6}/src/debugpy/_vendored/pydevd/pydevd_attach_to_process/common/python.h +0 -0
- {debugpy-1.8.5 → debugpy-1.8.6}/src/debugpy/_vendored/pydevd/pydevd_attach_to_process/common/ref_utils.hpp +0 -0
- {debugpy-1.8.5 → debugpy-1.8.6}/src/debugpy/_vendored/pydevd/pydevd_attach_to_process/linux_and_mac/.gitignore +0 -0
- {debugpy-1.8.5 → debugpy-1.8.6}/src/debugpy/_vendored/pydevd/pydevd_attach_to_process/linux_and_mac/attach.cpp +0 -0
- {debugpy-1.8.5 → debugpy-1.8.6}/src/debugpy/_vendored/pydevd/pydevd_attach_to_process/linux_and_mac/compile_linux.sh +0 -0
- {debugpy-1.8.5 → debugpy-1.8.6}/src/debugpy/_vendored/pydevd/pydevd_attach_to_process/linux_and_mac/compile_mac.sh +0 -0
- {debugpy-1.8.5 → debugpy-1.8.6}/src/debugpy/_vendored/pydevd/pydevd_attach_to_process/linux_and_mac/compile_manylinux.cmd +0 -0
- {debugpy-1.8.5 → debugpy-1.8.6}/src/debugpy/_vendored/pydevd/pydevd_attach_to_process/windows/attach.h +0 -0
- {debugpy-1.8.5 → debugpy-1.8.6}/src/debugpy/_vendored/pydevd/pydevd_attach_to_process/windows/inject_dll.cpp +0 -0
- {debugpy-1.8.5 → debugpy-1.8.6}/src/debugpy/_vendored/pydevd/pydevd_attach_to_process/windows/py_win_helpers.hpp +0 -0
- {debugpy-1.8.5 → debugpy-1.8.6}/src/debugpy/_vendored/pydevd/pydevd_attach_to_process/windows/run_code_in_memory.hpp +0 -0
- {debugpy-1.8.5 → debugpy-1.8.6}/src/debugpy/_vendored/pydevd/pydevd_attach_to_process/windows/run_code_on_dllmain.cpp +0 -0
- {debugpy-1.8.5 → debugpy-1.8.6}/src/debugpy/_vendored/pydevd/pydevd_attach_to_process/windows/stdafx.cpp +0 -0
- {debugpy-1.8.5 → debugpy-1.8.6}/src/debugpy/_vendored/pydevd/pydevd_attach_to_process/windows/stdafx.h +0 -0
- {debugpy-1.8.5 → debugpy-1.8.6}/src/debugpy/_vendored/pydevd/pydevd_attach_to_process/windows/targetver.h +0 -0
- {debugpy-1.8.5 → debugpy-1.8.6}/src/debugpy/_vendored/pydevd/pydevd_plugins/extensions/README.md +0 -0
- {debugpy-1.8.5 → debugpy-1.8.6}/src/debugpy/adapter/__init__.py +0 -0
- {debugpy-1.8.5 → debugpy-1.8.6}/src/debugpy/adapter/__main__.py +0 -0
- {debugpy-1.8.5 → debugpy-1.8.6}/src/debugpy/adapter/clients.py +0 -0
- {debugpy-1.8.5 → debugpy-1.8.6}/src/debugpy/adapter/components.py +0 -0
- {debugpy-1.8.5 → debugpy-1.8.6}/src/debugpy/adapter/launchers.py +0 -0
- {debugpy-1.8.5 → debugpy-1.8.6}/src/debugpy/adapter/servers.py +0 -0
- {debugpy-1.8.5 → debugpy-1.8.6}/src/debugpy/adapter/sessions.py +0 -0
- {debugpy-1.8.5 → debugpy-1.8.6}/src/debugpy/common/__init__.py +0 -0
- {debugpy-1.8.5 → debugpy-1.8.6}/src/debugpy/common/json.py +0 -0
- {debugpy-1.8.5 → debugpy-1.8.6}/src/debugpy/common/log.py +0 -0
- {debugpy-1.8.5 → debugpy-1.8.6}/src/debugpy/common/singleton.py +0 -0
- {debugpy-1.8.5 → debugpy-1.8.6}/src/debugpy/common/sockets.py +0 -0
- {debugpy-1.8.5 → debugpy-1.8.6}/src/debugpy/common/stacks.py +0 -0
- {debugpy-1.8.5 → debugpy-1.8.6}/src/debugpy/common/timestamp.py +0 -0
- {debugpy-1.8.5 → debugpy-1.8.6}/src/debugpy/common/util.py +0 -0
- {debugpy-1.8.5 → debugpy-1.8.6}/src/debugpy/launcher/__init__.py +0 -0
- {debugpy-1.8.5 → debugpy-1.8.6}/src/debugpy/launcher/__main__.py +0 -0
- {debugpy-1.8.5 → debugpy-1.8.6}/src/debugpy/launcher/debuggee.py +0 -0
- {debugpy-1.8.5 → debugpy-1.8.6}/src/debugpy/launcher/handlers.py +0 -0
- {debugpy-1.8.5 → debugpy-1.8.6}/src/debugpy/launcher/output.py +0 -0
- {debugpy-1.8.5 → debugpy-1.8.6}/src/debugpy/launcher/winapi.py +0 -0
- {debugpy-1.8.5 → debugpy-1.8.6}/src/debugpy/public_api.py +0 -0
- {debugpy-1.8.5 → debugpy-1.8.6}/src/debugpy/server/__init__.py +0 -0
- {debugpy-1.8.5 → debugpy-1.8.6}/src/debugpy/server/api.py +0 -0
- {debugpy-1.8.5 → debugpy-1.8.6}/src/debugpy/server/attach_pid_injected.py +0 -0
- {debugpy-1.8.5 → debugpy-1.8.6}/src/debugpy.egg-info/dependency_links.txt +0 -0
- {debugpy-1.8.5 → debugpy-1.8.6}/src/debugpy.egg-info/entry_points.txt +0 -0
- {debugpy-1.8.5 → debugpy-1.8.6}/src/debugpy.egg-info/top_level.txt +0 -0
- {debugpy-1.8.5 → debugpy-1.8.6}/versioneer.py +0 -0
|
@@ -1,19 +0,0 @@
|
|
|
1
|
-
# Defines which version of the PyDBAdditionalThreadInfo we'll use.
|
|
2
|
-
from _pydevd_bundle.pydevd_constants import ENV_FALSE_LOWER_VALUES, USE_CYTHON_FLAG, \
|
|
3
|
-
ENV_TRUE_LOWER_VALUES
|
|
4
|
-
|
|
5
|
-
if USE_CYTHON_FLAG in ENV_TRUE_LOWER_VALUES:
|
|
6
|
-
# We must import the cython version if forcing cython
|
|
7
|
-
from _pydevd_bundle.pydevd_cython_wrapper import PyDBAdditionalThreadInfo, set_additional_thread_info, _set_additional_thread_info_lock # @UnusedImport
|
|
8
|
-
|
|
9
|
-
elif USE_CYTHON_FLAG in ENV_FALSE_LOWER_VALUES:
|
|
10
|
-
# Use the regular version if not forcing cython
|
|
11
|
-
from _pydevd_bundle.pydevd_additional_thread_info_regular import PyDBAdditionalThreadInfo, set_additional_thread_info, _set_additional_thread_info_lock # @UnusedImport @Reimport
|
|
12
|
-
|
|
13
|
-
else:
|
|
14
|
-
# Regular: use fallback if not found (message is already given elsewhere).
|
|
15
|
-
try:
|
|
16
|
-
from _pydevd_bundle.pydevd_cython_wrapper import PyDBAdditionalThreadInfo, set_additional_thread_info, _set_additional_thread_info_lock
|
|
17
|
-
except ImportError:
|
|
18
|
-
from _pydevd_bundle.pydevd_additional_thread_info_regular import PyDBAdditionalThreadInfo, set_additional_thread_info, _set_additional_thread_info_lock # @UnusedImport
|
|
19
|
-
|
debugpy-1.8.5/src/debugpy/_vendored/pydevd/_pydevd_bundle/pydevd_additional_thread_info_regular.py
DELETED
|
@@ -1,153 +0,0 @@
|
|
|
1
|
-
from _pydevd_bundle.pydevd_constants import (STATE_RUN, PYTHON_SUSPEND, SUPPORT_GEVENT, ForkSafeLock,
|
|
2
|
-
_current_frames)
|
|
3
|
-
from _pydev_bundle import pydev_log
|
|
4
|
-
# IFDEF CYTHON
|
|
5
|
-
# pydev_log.debug("Using Cython speedups")
|
|
6
|
-
# ELSE
|
|
7
|
-
from _pydevd_bundle.pydevd_frame import PyDBFrame
|
|
8
|
-
# ENDIF
|
|
9
|
-
|
|
10
|
-
version = 11
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
#=======================================================================================================================
|
|
14
|
-
# PyDBAdditionalThreadInfo
|
|
15
|
-
#=======================================================================================================================
|
|
16
|
-
# IFDEF CYTHON
|
|
17
|
-
# cdef class PyDBAdditionalThreadInfo:
|
|
18
|
-
# ELSE
|
|
19
|
-
class PyDBAdditionalThreadInfo(object):
|
|
20
|
-
# ENDIF
|
|
21
|
-
|
|
22
|
-
# Note: the params in cython are declared in pydevd_cython.pxd.
|
|
23
|
-
# IFDEF CYTHON
|
|
24
|
-
# ELSE
|
|
25
|
-
__slots__ = [
|
|
26
|
-
'pydev_state',
|
|
27
|
-
'pydev_step_stop',
|
|
28
|
-
'pydev_original_step_cmd',
|
|
29
|
-
'pydev_step_cmd',
|
|
30
|
-
'pydev_notify_kill',
|
|
31
|
-
'pydev_django_resolve_frame',
|
|
32
|
-
'pydev_call_from_jinja2',
|
|
33
|
-
'pydev_call_inside_jinja2',
|
|
34
|
-
'is_tracing',
|
|
35
|
-
'conditional_breakpoint_exception',
|
|
36
|
-
'pydev_message',
|
|
37
|
-
'suspend_type',
|
|
38
|
-
'pydev_next_line',
|
|
39
|
-
'pydev_func_name',
|
|
40
|
-
'suspended_at_unhandled',
|
|
41
|
-
'trace_suspend_type',
|
|
42
|
-
'top_level_thread_tracer_no_back_frames',
|
|
43
|
-
'top_level_thread_tracer_unhandled',
|
|
44
|
-
'thread_tracer',
|
|
45
|
-
'step_in_initial_location',
|
|
46
|
-
|
|
47
|
-
# Used for CMD_SMART_STEP_INTO (to know which smart step into variant to use)
|
|
48
|
-
'pydev_smart_parent_offset',
|
|
49
|
-
'pydev_smart_child_offset',
|
|
50
|
-
|
|
51
|
-
# Used for CMD_SMART_STEP_INTO (list[_pydevd_bundle.pydevd_bytecode_utils.Variant])
|
|
52
|
-
# Filled when the cmd_get_smart_step_into_variants is requested (so, this is a copy
|
|
53
|
-
# of the last request for a given thread and pydev_smart_parent_offset/pydev_smart_child_offset relies on it).
|
|
54
|
-
'pydev_smart_step_into_variants',
|
|
55
|
-
'target_id_to_smart_step_into_variant',
|
|
56
|
-
|
|
57
|
-
'pydev_use_scoped_step_frame',
|
|
58
|
-
]
|
|
59
|
-
# ENDIF
|
|
60
|
-
|
|
61
|
-
def __init__(self):
|
|
62
|
-
self.pydev_state = STATE_RUN # STATE_RUN or STATE_SUSPEND
|
|
63
|
-
self.pydev_step_stop = None
|
|
64
|
-
|
|
65
|
-
# Note: we have `pydev_original_step_cmd` and `pydev_step_cmd` because the original is to
|
|
66
|
-
# say the action that started it and the other is to say what's the current tracing behavior
|
|
67
|
-
# (because it's possible that we start with a step over but may have to switch to a
|
|
68
|
-
# different step strategy -- for instance, if a step over is done and we return the current
|
|
69
|
-
# method the strategy is changed to a step in).
|
|
70
|
-
|
|
71
|
-
self.pydev_original_step_cmd = -1 # Something as CMD_STEP_INTO, CMD_STEP_OVER, etc.
|
|
72
|
-
self.pydev_step_cmd = -1 # Something as CMD_STEP_INTO, CMD_STEP_OVER, etc.
|
|
73
|
-
|
|
74
|
-
self.pydev_notify_kill = False
|
|
75
|
-
self.pydev_django_resolve_frame = False
|
|
76
|
-
self.pydev_call_from_jinja2 = None
|
|
77
|
-
self.pydev_call_inside_jinja2 = None
|
|
78
|
-
self.is_tracing = 0
|
|
79
|
-
self.conditional_breakpoint_exception = None
|
|
80
|
-
self.pydev_message = ''
|
|
81
|
-
self.suspend_type = PYTHON_SUSPEND
|
|
82
|
-
self.pydev_next_line = -1
|
|
83
|
-
self.pydev_func_name = '.invalid.' # Must match the type in cython
|
|
84
|
-
self.suspended_at_unhandled = False
|
|
85
|
-
self.trace_suspend_type = 'trace' # 'trace' or 'frame_eval'
|
|
86
|
-
self.top_level_thread_tracer_no_back_frames = []
|
|
87
|
-
self.top_level_thread_tracer_unhandled = None
|
|
88
|
-
self.thread_tracer = None
|
|
89
|
-
self.step_in_initial_location = None
|
|
90
|
-
self.pydev_smart_parent_offset = -1
|
|
91
|
-
self.pydev_smart_child_offset = -1
|
|
92
|
-
self.pydev_smart_step_into_variants = ()
|
|
93
|
-
self.target_id_to_smart_step_into_variant = {}
|
|
94
|
-
|
|
95
|
-
# Flag to indicate ipython use-case where each line will be executed as a call/line/return
|
|
96
|
-
# in a new new frame but in practice we want to consider each new frame as if it was all
|
|
97
|
-
# part of the same frame.
|
|
98
|
-
#
|
|
99
|
-
# In practice this means that a step over shouldn't revert to a step in and we need some
|
|
100
|
-
# special logic to know when we should stop in a step over as we need to consider 2
|
|
101
|
-
# different frames as being equal if they're logically the continuation of a frame
|
|
102
|
-
# being executed by ipython line by line.
|
|
103
|
-
#
|
|
104
|
-
# See: https://github.com/microsoft/debugpy/issues/869#issuecomment-1132141003
|
|
105
|
-
self.pydev_use_scoped_step_frame = False
|
|
106
|
-
|
|
107
|
-
def get_topmost_frame(self, thread):
|
|
108
|
-
'''
|
|
109
|
-
Gets the topmost frame for the given thread. Note that it may be None
|
|
110
|
-
and callers should remove the reference to the frame as soon as possible
|
|
111
|
-
to avoid disturbing user code.
|
|
112
|
-
'''
|
|
113
|
-
# sys._current_frames(): dictionary with thread id -> topmost frame
|
|
114
|
-
current_frames = _current_frames()
|
|
115
|
-
topmost_frame = current_frames.get(thread.ident)
|
|
116
|
-
if topmost_frame is None:
|
|
117
|
-
# Note: this is expected for dummy threads (so, getting the topmost frame should be
|
|
118
|
-
# treated as optional).
|
|
119
|
-
pydev_log.info(
|
|
120
|
-
'Unable to get topmost frame for thread: %s, thread.ident: %s, id(thread): %s\nCurrent frames: %s.\n'
|
|
121
|
-
'GEVENT_SUPPORT: %s',
|
|
122
|
-
thread,
|
|
123
|
-
thread.ident,
|
|
124
|
-
id(thread),
|
|
125
|
-
current_frames,
|
|
126
|
-
SUPPORT_GEVENT,
|
|
127
|
-
)
|
|
128
|
-
|
|
129
|
-
return topmost_frame
|
|
130
|
-
|
|
131
|
-
def __str__(self):
|
|
132
|
-
return 'State:%s Stop:%s Cmd: %s Kill:%s' % (
|
|
133
|
-
self.pydev_state, self.pydev_step_stop, self.pydev_step_cmd, self.pydev_notify_kill)
|
|
134
|
-
|
|
135
|
-
|
|
136
|
-
_set_additional_thread_info_lock = ForkSafeLock()
|
|
137
|
-
|
|
138
|
-
|
|
139
|
-
def set_additional_thread_info(thread):
|
|
140
|
-
try:
|
|
141
|
-
additional_info = thread.additional_info
|
|
142
|
-
if additional_info is None:
|
|
143
|
-
raise AttributeError()
|
|
144
|
-
except:
|
|
145
|
-
with _set_additional_thread_info_lock:
|
|
146
|
-
# If it's not there, set it within a lock to avoid any racing
|
|
147
|
-
# conditions.
|
|
148
|
-
additional_info = getattr(thread, 'additional_info', None)
|
|
149
|
-
if additional_info is None:
|
|
150
|
-
additional_info = PyDBAdditionalThreadInfo()
|
|
151
|
-
thread.additional_info = additional_info
|
|
152
|
-
|
|
153
|
-
return additional_info
|
|
@@ -1,204 +0,0 @@
|
|
|
1
|
-
import json
|
|
2
|
-
import urllib.parse as urllib_parse
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
class DebugOptions(object):
|
|
6
|
-
|
|
7
|
-
__slots__ = [
|
|
8
|
-
'just_my_code',
|
|
9
|
-
'redirect_output',
|
|
10
|
-
'show_return_value',
|
|
11
|
-
'break_system_exit_zero',
|
|
12
|
-
'django_debug',
|
|
13
|
-
'flask_debug',
|
|
14
|
-
'stop_on_entry',
|
|
15
|
-
'max_exception_stack_frames',
|
|
16
|
-
'gui_event_loop',
|
|
17
|
-
'client_os',
|
|
18
|
-
]
|
|
19
|
-
|
|
20
|
-
def __init__(self):
|
|
21
|
-
self.just_my_code = True
|
|
22
|
-
self.redirect_output = False
|
|
23
|
-
self.show_return_value = False
|
|
24
|
-
self.break_system_exit_zero = False
|
|
25
|
-
self.django_debug = False
|
|
26
|
-
self.flask_debug = False
|
|
27
|
-
self.stop_on_entry = False
|
|
28
|
-
self.max_exception_stack_frames = 0
|
|
29
|
-
self.gui_event_loop = 'matplotlib'
|
|
30
|
-
self.client_os = None
|
|
31
|
-
|
|
32
|
-
def to_json(self):
|
|
33
|
-
dct = {}
|
|
34
|
-
for s in self.__slots__:
|
|
35
|
-
dct[s] = getattr(self, s)
|
|
36
|
-
return json.dumps(dct)
|
|
37
|
-
|
|
38
|
-
def update_fom_debug_options(self, debug_options):
|
|
39
|
-
if 'DEBUG_STDLIB' in debug_options:
|
|
40
|
-
self.just_my_code = not debug_options.get('DEBUG_STDLIB')
|
|
41
|
-
|
|
42
|
-
if 'REDIRECT_OUTPUT' in debug_options:
|
|
43
|
-
self.redirect_output = debug_options.get('REDIRECT_OUTPUT')
|
|
44
|
-
|
|
45
|
-
if 'SHOW_RETURN_VALUE' in debug_options:
|
|
46
|
-
self.show_return_value = debug_options.get('SHOW_RETURN_VALUE')
|
|
47
|
-
|
|
48
|
-
if 'BREAK_SYSTEMEXIT_ZERO' in debug_options:
|
|
49
|
-
self.break_system_exit_zero = debug_options.get('BREAK_SYSTEMEXIT_ZERO')
|
|
50
|
-
|
|
51
|
-
if 'DJANGO_DEBUG' in debug_options:
|
|
52
|
-
self.django_debug = debug_options.get('DJANGO_DEBUG')
|
|
53
|
-
|
|
54
|
-
if 'FLASK_DEBUG' in debug_options:
|
|
55
|
-
self.flask_debug = debug_options.get('FLASK_DEBUG')
|
|
56
|
-
|
|
57
|
-
if 'STOP_ON_ENTRY' in debug_options:
|
|
58
|
-
self.stop_on_entry = debug_options.get('STOP_ON_ENTRY')
|
|
59
|
-
|
|
60
|
-
if 'CLIENT_OS_TYPE' in debug_options:
|
|
61
|
-
self.client_os = debug_options.get('CLIENT_OS_TYPE')
|
|
62
|
-
|
|
63
|
-
# Note: _max_exception_stack_frames cannot be set by debug options.
|
|
64
|
-
|
|
65
|
-
def update_from_args(self, args):
|
|
66
|
-
if 'justMyCode' in args:
|
|
67
|
-
self.just_my_code = bool_parser(args['justMyCode'])
|
|
68
|
-
else:
|
|
69
|
-
# i.e.: if justMyCode is provided, don't check the deprecated value
|
|
70
|
-
if 'debugStdLib' in args:
|
|
71
|
-
self.just_my_code = not bool_parser(args['debugStdLib'])
|
|
72
|
-
|
|
73
|
-
if 'redirectOutput' in args:
|
|
74
|
-
self.redirect_output = bool_parser(args['redirectOutput'])
|
|
75
|
-
|
|
76
|
-
if 'showReturnValue' in args:
|
|
77
|
-
self.show_return_value = bool_parser(args['showReturnValue'])
|
|
78
|
-
|
|
79
|
-
if 'breakOnSystemExitZero' in args:
|
|
80
|
-
self.break_system_exit_zero = bool_parser(args['breakOnSystemExitZero'])
|
|
81
|
-
|
|
82
|
-
if 'django' in args:
|
|
83
|
-
self.django_debug = bool_parser(args['django'])
|
|
84
|
-
|
|
85
|
-
if 'flask' in args:
|
|
86
|
-
self.flask_debug = bool_parser(args['flask'])
|
|
87
|
-
|
|
88
|
-
if 'jinja' in args:
|
|
89
|
-
self.flask_debug = bool_parser(args['jinja'])
|
|
90
|
-
|
|
91
|
-
if 'stopOnEntry' in args:
|
|
92
|
-
self.stop_on_entry = bool_parser(args['stopOnEntry'])
|
|
93
|
-
|
|
94
|
-
self.max_exception_stack_frames = int_parser(args.get('maxExceptionStackFrames', 0))
|
|
95
|
-
|
|
96
|
-
if 'guiEventLoop' in args:
|
|
97
|
-
self.gui_event_loop = str(args['guiEventLoop'])
|
|
98
|
-
|
|
99
|
-
if 'clientOS' in args:
|
|
100
|
-
self.client_os = str(args['clientOS']).upper()
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
def int_parser(s, default_value=0):
|
|
104
|
-
try:
|
|
105
|
-
return int(s)
|
|
106
|
-
except Exception:
|
|
107
|
-
return default_value
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
def bool_parser(s):
|
|
111
|
-
return s in ("True", "true", "1", True, 1)
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
def unquote(s):
|
|
115
|
-
return None if s is None else urllib_parse.unquote(s)
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
DEBUG_OPTIONS_PARSER = {
|
|
119
|
-
'WAIT_ON_ABNORMAL_EXIT': bool_parser,
|
|
120
|
-
'WAIT_ON_NORMAL_EXIT': bool_parser,
|
|
121
|
-
'BREAK_SYSTEMEXIT_ZERO': bool_parser,
|
|
122
|
-
'REDIRECT_OUTPUT': bool_parser,
|
|
123
|
-
'DJANGO_DEBUG': bool_parser,
|
|
124
|
-
'FLASK_DEBUG': bool_parser,
|
|
125
|
-
'FIX_FILE_PATH_CASE': bool_parser,
|
|
126
|
-
'CLIENT_OS_TYPE': unquote,
|
|
127
|
-
'DEBUG_STDLIB': bool_parser,
|
|
128
|
-
'STOP_ON_ENTRY': bool_parser,
|
|
129
|
-
'SHOW_RETURN_VALUE': bool_parser,
|
|
130
|
-
'MULTIPROCESS': bool_parser,
|
|
131
|
-
}
|
|
132
|
-
|
|
133
|
-
DEBUG_OPTIONS_BY_FLAG = {
|
|
134
|
-
'RedirectOutput': 'REDIRECT_OUTPUT=True',
|
|
135
|
-
'WaitOnNormalExit': 'WAIT_ON_NORMAL_EXIT=True',
|
|
136
|
-
'WaitOnAbnormalExit': 'WAIT_ON_ABNORMAL_EXIT=True',
|
|
137
|
-
'BreakOnSystemExitZero': 'BREAK_SYSTEMEXIT_ZERO=True',
|
|
138
|
-
'Django': 'DJANGO_DEBUG=True',
|
|
139
|
-
'Flask': 'FLASK_DEBUG=True',
|
|
140
|
-
'Jinja': 'FLASK_DEBUG=True',
|
|
141
|
-
'FixFilePathCase': 'FIX_FILE_PATH_CASE=True',
|
|
142
|
-
'DebugStdLib': 'DEBUG_STDLIB=True',
|
|
143
|
-
'WindowsClient': 'CLIENT_OS_TYPE=WINDOWS',
|
|
144
|
-
'UnixClient': 'CLIENT_OS_TYPE=UNIX',
|
|
145
|
-
'StopOnEntry': 'STOP_ON_ENTRY=True',
|
|
146
|
-
'ShowReturnValue': 'SHOW_RETURN_VALUE=True',
|
|
147
|
-
'Multiprocess': 'MULTIPROCESS=True',
|
|
148
|
-
}
|
|
149
|
-
|
|
150
|
-
|
|
151
|
-
def _build_debug_options(flags):
|
|
152
|
-
"""Build string representation of debug options from the launch config."""
|
|
153
|
-
return ';'.join(DEBUG_OPTIONS_BY_FLAG[flag]
|
|
154
|
-
for flag in flags or []
|
|
155
|
-
if flag in DEBUG_OPTIONS_BY_FLAG)
|
|
156
|
-
|
|
157
|
-
|
|
158
|
-
def _parse_debug_options(opts):
|
|
159
|
-
"""Debug options are semicolon separated key=value pairs
|
|
160
|
-
"""
|
|
161
|
-
options = {}
|
|
162
|
-
if not opts:
|
|
163
|
-
return options
|
|
164
|
-
|
|
165
|
-
for opt in opts.split(';'):
|
|
166
|
-
try:
|
|
167
|
-
key, value = opt.split('=')
|
|
168
|
-
except ValueError:
|
|
169
|
-
continue
|
|
170
|
-
try:
|
|
171
|
-
options[key] = DEBUG_OPTIONS_PARSER[key](value)
|
|
172
|
-
except KeyError:
|
|
173
|
-
continue
|
|
174
|
-
|
|
175
|
-
return options
|
|
176
|
-
|
|
177
|
-
|
|
178
|
-
def _extract_debug_options(opts, flags=None):
|
|
179
|
-
"""Return the debug options encoded in the given value.
|
|
180
|
-
|
|
181
|
-
"opts" is a semicolon-separated string of "key=value" pairs.
|
|
182
|
-
"flags" is a list of strings.
|
|
183
|
-
|
|
184
|
-
If flags is provided then it is used as a fallback.
|
|
185
|
-
|
|
186
|
-
The values come from the launch config:
|
|
187
|
-
|
|
188
|
-
{
|
|
189
|
-
type:'python',
|
|
190
|
-
request:'launch'|'attach',
|
|
191
|
-
name:'friendly name for debug config',
|
|
192
|
-
debugOptions:[
|
|
193
|
-
'RedirectOutput', 'Django'
|
|
194
|
-
],
|
|
195
|
-
options:'REDIRECT_OUTPUT=True;DJANGO_DEBUG=True'
|
|
196
|
-
}
|
|
197
|
-
|
|
198
|
-
Further information can be found here:
|
|
199
|
-
|
|
200
|
-
https://code.visualstudio.com/docs/editor/debugging#_launchjson-attributes
|
|
201
|
-
"""
|
|
202
|
-
if not opts:
|
|
203
|
-
opts = _build_debug_options(flags)
|
|
204
|
-
return _parse_debug_options(opts)
|
|
@@ -1,91 +0,0 @@
|
|
|
1
|
-
import types
|
|
2
|
-
|
|
3
|
-
from _pydev_bundle import pydev_log
|
|
4
|
-
from _pydevd_bundle import pydevd_trace_api
|
|
5
|
-
|
|
6
|
-
try:
|
|
7
|
-
from pydevd_plugins import django_debug
|
|
8
|
-
except:
|
|
9
|
-
django_debug = None
|
|
10
|
-
pydev_log.debug('Unable to load django_debug plugin')
|
|
11
|
-
|
|
12
|
-
try:
|
|
13
|
-
from pydevd_plugins import jinja2_debug
|
|
14
|
-
except:
|
|
15
|
-
jinja2_debug = None
|
|
16
|
-
pydev_log.debug('Unable to load jinja2_debug plugin')
|
|
17
|
-
|
|
18
|
-
def load_plugins():
|
|
19
|
-
plugins = []
|
|
20
|
-
if django_debug is not None:
|
|
21
|
-
plugins.append(django_debug)
|
|
22
|
-
|
|
23
|
-
if jinja2_debug is not None:
|
|
24
|
-
plugins.append(jinja2_debug)
|
|
25
|
-
return plugins
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
def bind_func_to_method(func, obj, method_name):
|
|
29
|
-
bound_method = types.MethodType(func, obj)
|
|
30
|
-
|
|
31
|
-
setattr(obj, method_name, bound_method)
|
|
32
|
-
return bound_method
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
class PluginManager(object):
|
|
36
|
-
|
|
37
|
-
def __init__(self, main_debugger):
|
|
38
|
-
self.plugins = load_plugins()
|
|
39
|
-
self.active_plugins = []
|
|
40
|
-
self.main_debugger = main_debugger
|
|
41
|
-
self.rebind_methods()
|
|
42
|
-
|
|
43
|
-
def add_breakpoint(self, func_name, *args, **kwargs):
|
|
44
|
-
# add breakpoint for plugin and remember which plugin to use in tracing
|
|
45
|
-
for plugin in self.plugins:
|
|
46
|
-
if hasattr(plugin, func_name):
|
|
47
|
-
func = getattr(plugin, func_name)
|
|
48
|
-
result = func(self, *args, **kwargs)
|
|
49
|
-
if result:
|
|
50
|
-
self.activate(plugin)
|
|
51
|
-
|
|
52
|
-
return result
|
|
53
|
-
return None
|
|
54
|
-
|
|
55
|
-
def activate(self, plugin):
|
|
56
|
-
if plugin not in self.active_plugins:
|
|
57
|
-
self.active_plugins.append(plugin)
|
|
58
|
-
self.rebind_methods()
|
|
59
|
-
|
|
60
|
-
def rebind_methods(self):
|
|
61
|
-
if len(self.active_plugins) == 0:
|
|
62
|
-
self.bind_functions(pydevd_trace_api, getattr, pydevd_trace_api)
|
|
63
|
-
elif len(self.active_plugins) == 1:
|
|
64
|
-
self.bind_functions(pydevd_trace_api, getattr, self.active_plugins[0])
|
|
65
|
-
else:
|
|
66
|
-
self.bind_functions(pydevd_trace_api, create_dispatch, self.active_plugins)
|
|
67
|
-
|
|
68
|
-
def bind_functions(self, interface, function_factory, arg):
|
|
69
|
-
for name in dir(interface):
|
|
70
|
-
func = function_factory(arg, name)
|
|
71
|
-
if type(func) == types.FunctionType:
|
|
72
|
-
bind_func_to_method(func, self, name)
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
def create_dispatch(obj, name):
|
|
76
|
-
def dispatch(self, *args, **kwargs):
|
|
77
|
-
result = None
|
|
78
|
-
for p in self.active_plugins:
|
|
79
|
-
r = getattr(p, name)(self, *args, **kwargs)
|
|
80
|
-
if not result:
|
|
81
|
-
result = r
|
|
82
|
-
return result
|
|
83
|
-
return dispatch
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
@@ -1,62 +0,0 @@
|
|
|
1
|
-
def add_line_breakpoint(plugin, pydb, type, canonical_normalized_filename, breakpoint_id, line, condition, expression, func_name, hit_condition=None, is_logpoint=False, add_breakpoint_result=None, on_changed_breakpoint_state=None):
|
|
2
|
-
return None
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
def after_breakpoints_consolidated(py_db, canonical_normalized_filename, id_to_pybreakpoint, file_to_line_to_breakpoints):
|
|
6
|
-
return None
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
def add_exception_breakpoint(plugin, pydb, type, exception):
|
|
10
|
-
return False
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
def remove_exception_breakpoint(plugin, pydb, type, exception):
|
|
14
|
-
return False
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
def remove_all_exception_breakpoints(plugin, pydb):
|
|
18
|
-
return False
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
def get_breakpoints(plugin, pydb):
|
|
22
|
-
return None
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
def can_skip(plugin, pydb, frame):
|
|
26
|
-
return True
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
def has_exception_breaks(plugin):
|
|
30
|
-
return False
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
def has_line_breaks(plugin):
|
|
34
|
-
return False
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
def cmd_step_into(plugin, pydb, frame, event, args, stop_info, stop):
|
|
38
|
-
return False
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
def cmd_step_over(plugin, pydb, frame, event, args, stop_info, stop):
|
|
42
|
-
return False
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
def stop(plugin, pydb, frame, event, args, stop_info, arg, step_cmd):
|
|
46
|
-
return False
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
def get_breakpoint(plugin, pydb, pydb_frame, frame, event, args):
|
|
50
|
-
return None
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
def suspend(plugin, pydb, thread, frame):
|
|
54
|
-
return None
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
def exception_break(plugin, pydb, pydb_frame, frame, args, arg):
|
|
58
|
-
return None
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
def change_variable(plugin, frame, attr, expression):
|
|
62
|
-
return False
|
|
@@ -1,41 +0,0 @@
|
|
|
1
|
-
import sys
|
|
2
|
-
|
|
3
|
-
#=======================================================================================================================
|
|
4
|
-
# PydevdVmType
|
|
5
|
-
#=======================================================================================================================
|
|
6
|
-
class PydevdVmType:
|
|
7
|
-
|
|
8
|
-
PYTHON = 'python'
|
|
9
|
-
JYTHON = 'jython'
|
|
10
|
-
vm_type = None
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
#=======================================================================================================================
|
|
14
|
-
# set_vm_type
|
|
15
|
-
#=======================================================================================================================
|
|
16
|
-
def set_vm_type(vm_type):
|
|
17
|
-
PydevdVmType.vm_type = vm_type
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
#=======================================================================================================================
|
|
21
|
-
# get_vm_type
|
|
22
|
-
#=======================================================================================================================
|
|
23
|
-
def get_vm_type():
|
|
24
|
-
if PydevdVmType.vm_type is None:
|
|
25
|
-
setup_type()
|
|
26
|
-
return PydevdVmType.vm_type
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
#=======================================================================================================================
|
|
30
|
-
# setup_type
|
|
31
|
-
#=======================================================================================================================
|
|
32
|
-
def setup_type(str=None):
|
|
33
|
-
if str is not None:
|
|
34
|
-
PydevdVmType.vm_type = str
|
|
35
|
-
return
|
|
36
|
-
|
|
37
|
-
if sys.platform.startswith("java"):
|
|
38
|
-
PydevdVmType.vm_type = PydevdVmType.JYTHON
|
|
39
|
-
else:
|
|
40
|
-
PydevdVmType.vm_type = PydevdVmType.PYTHON
|
|
41
|
-
|
|
@@ -1,48 +0,0 @@
|
|
|
1
|
-
import os
|
|
2
|
-
|
|
3
|
-
from _pydev_bundle import pydev_log
|
|
4
|
-
from _pydevd_bundle.pydevd_trace_dispatch import USING_CYTHON
|
|
5
|
-
from _pydevd_bundle.pydevd_constants import USE_CYTHON_FLAG, ENV_FALSE_LOWER_VALUES, \
|
|
6
|
-
ENV_TRUE_LOWER_VALUES, IS_PY36_OR_GREATER, IS_PY38_OR_GREATER, SUPPORT_GEVENT, IS_PYTHON_STACKLESS, \
|
|
7
|
-
PYDEVD_USE_FRAME_EVAL, PYDEVD_IPYTHON_COMPATIBLE_DEBUGGING
|
|
8
|
-
|
|
9
|
-
frame_eval_func = None
|
|
10
|
-
stop_frame_eval = None
|
|
11
|
-
dummy_trace_dispatch = None
|
|
12
|
-
clear_thread_local_info = None
|
|
13
|
-
|
|
14
|
-
# "NO" means we should not use frame evaluation, 'YES' we should use it (and fail if not there) and unspecified uses if possible.
|
|
15
|
-
if (
|
|
16
|
-
PYDEVD_USE_FRAME_EVAL in ENV_FALSE_LOWER_VALUES or
|
|
17
|
-
USE_CYTHON_FLAG in ENV_FALSE_LOWER_VALUES or
|
|
18
|
-
not USING_CYTHON or
|
|
19
|
-
|
|
20
|
-
# Frame eval mode does not work with ipython compatible debugging (this happens because the
|
|
21
|
-
# way that frame eval works is run untraced and set tracing only for the frames with
|
|
22
|
-
# breakpoints, but ipython compatible debugging creates separate frames for what's logically
|
|
23
|
-
# the same frame).
|
|
24
|
-
PYDEVD_IPYTHON_COMPATIBLE_DEBUGGING
|
|
25
|
-
):
|
|
26
|
-
USING_FRAME_EVAL = False
|
|
27
|
-
|
|
28
|
-
elif SUPPORT_GEVENT or (IS_PYTHON_STACKLESS and not IS_PY38_OR_GREATER):
|
|
29
|
-
USING_FRAME_EVAL = False
|
|
30
|
-
# i.e gevent and frame eval mode don't get along very well.
|
|
31
|
-
# https://github.com/microsoft/debugpy/issues/189
|
|
32
|
-
# Same problem with Stackless.
|
|
33
|
-
# https://github.com/stackless-dev/stackless/issues/240
|
|
34
|
-
|
|
35
|
-
elif PYDEVD_USE_FRAME_EVAL in ENV_TRUE_LOWER_VALUES:
|
|
36
|
-
# Fail if unable to use
|
|
37
|
-
from _pydevd_frame_eval.pydevd_frame_eval_cython_wrapper import frame_eval_func, stop_frame_eval, dummy_trace_dispatch, clear_thread_local_info
|
|
38
|
-
USING_FRAME_EVAL = True
|
|
39
|
-
|
|
40
|
-
else:
|
|
41
|
-
USING_FRAME_EVAL = False
|
|
42
|
-
# Try to use if possible
|
|
43
|
-
if IS_PY36_OR_GREATER:
|
|
44
|
-
try:
|
|
45
|
-
from _pydevd_frame_eval.pydevd_frame_eval_cython_wrapper import frame_eval_func, stop_frame_eval, dummy_trace_dispatch, clear_thread_local_info
|
|
46
|
-
USING_FRAME_EVAL = True
|
|
47
|
-
except ImportError:
|
|
48
|
-
pydev_log.show_compile_cython_command_line()
|
|
@@ -1,23 +0,0 @@
|
|
|
1
|
-
""" A Qt API selector that can be used to switch between PyQt and PySide.
|
|
2
|
-
|
|
3
|
-
This uses the ETS 4.0 selection pattern of:
|
|
4
|
-
PySide first, PyQt with API v2. second.
|
|
5
|
-
|
|
6
|
-
Do not use this if you need PyQt with the old QString/QVariant API.
|
|
7
|
-
"""
|
|
8
|
-
|
|
9
|
-
import os
|
|
10
|
-
|
|
11
|
-
from pydev_ipython.qt_loaders import (load_qt, QT_API_PYSIDE, QT_API_PYSIDE2,
|
|
12
|
-
QT_API_PYQT, QT_API_PYQT5, QT_API_PYQT6)
|
|
13
|
-
|
|
14
|
-
QT_API = os.environ.get('QT_API', None)
|
|
15
|
-
if QT_API not in [QT_API_PYSIDE, QT_API_PYSIDE2, QT_API_PYQT, QT_API_PYQT5, QT_API_PYQT6, None]:
|
|
16
|
-
raise RuntimeError("Invalid Qt API %r, valid values are: %r, %r, %r, %r, %r" %
|
|
17
|
-
(QT_API, QT_API_PYSIDE, QT_API_PYSIDE2, QT_API_PYQT, QT_API_PYQT5, QT_API_PYQT6))
|
|
18
|
-
if QT_API is None:
|
|
19
|
-
api_opts = [QT_API_PYSIDE, QT_API_PYSIDE2, QT_API_PYQT, QT_API_PYQT5, QT_API_PYQT6]
|
|
20
|
-
else:
|
|
21
|
-
api_opts = [QT_API]
|
|
22
|
-
|
|
23
|
-
QtCore, QtGui, QtSvg, QT_API = load_qt(api_opts)
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
'''An empty file in pysrc that can be imported (from sitecustomize) to find the location of pysrc'''
|