debugpy 1.8.7__zip → 1.8.9__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.7/src/debugpy.egg-info → debugpy-1.8.9}/PKG-INFO +1 -1
- {debugpy-1.8.7 → debugpy-1.8.9}/pyproject.toml +5 -2
- {debugpy-1.8.7 → debugpy-1.8.9}/src/debugpy/_vendored/pydevd/_pydev_bundle/pydev_is_thread_alive.py +8 -1
- {debugpy-1.8.7 → debugpy-1.8.9}/src/debugpy/_vendored/pydevd/_pydev_bundle/pydev_monkey.py +58 -24
- {debugpy-1.8.7 → debugpy-1.8.9}/src/debugpy/_vendored/pydevd/_pydev_runfiles/pydev_runfiles_xml_rpc.py +1 -1
- {debugpy-1.8.7 → debugpy-1.8.9}/src/debugpy/_vendored/pydevd/_pydevd_bundle/_debug_adapter/__main__pydevd_gen_debug_adapter_protocol.py +3 -1
- {debugpy-1.8.7 → debugpy-1.8.9}/src/debugpy/_vendored/pydevd/_pydevd_bundle/pydevd_api.py +2 -1
- {debugpy-1.8.7 → debugpy-1.8.9}/src/debugpy/_vendored/pydevd/_pydevd_bundle/pydevd_code_to_source.py +1 -2
- {debugpy-1.8.7 → debugpy-1.8.9}/src/debugpy/_vendored/pydevd/_pydevd_bundle/pydevd_collect_bytecode_info.py +6 -121
- {debugpy-1.8.7 → debugpy-1.8.9}/src/debugpy/_vendored/pydevd/_pydevd_bundle/pydevd_comm.py +9 -9
- {debugpy-1.8.7 → debugpy-1.8.9}/src/debugpy/_vendored/pydevd/_pydevd_bundle/pydevd_constants.py +8 -0
- {debugpy-1.8.7 → debugpy-1.8.9}/src/debugpy/_vendored/pydevd/_pydevd_bundle/pydevd_cython.c +3395 -3365
- {debugpy-1.8.7 → debugpy-1.8.9}/src/debugpy/_vendored/pydevd/_pydevd_bundle/pydevd_cython.pyx +7 -10
- {debugpy-1.8.7 → debugpy-1.8.9}/src/debugpy/_vendored/pydevd/_pydevd_bundle/pydevd_daemon_thread.py +1 -0
- {debugpy-1.8.7 → debugpy-1.8.9}/src/debugpy/_vendored/pydevd/_pydevd_bundle/pydevd_frame.py +6 -7
- {debugpy-1.8.7 → debugpy-1.8.9}/src/debugpy/_vendored/pydevd/_pydevd_bundle/pydevd_frame_utils.py +27 -24
- {debugpy-1.8.7 → debugpy-1.8.9}/src/debugpy/_vendored/pydevd/_pydevd_bundle/pydevd_plugin_utils.py +2 -2
- {debugpy-1.8.7 → debugpy-1.8.9}/src/debugpy/_vendored/pydevd/_pydevd_bundle/pydevd_process_net_command_json.py +2 -1
- {debugpy-1.8.7 → debugpy-1.8.9}/src/debugpy/_vendored/pydevd/_pydevd_bundle/pydevd_save_locals.py +17 -2
- {debugpy-1.8.7 → debugpy-1.8.9}/src/debugpy/_vendored/pydevd/_pydevd_bundle/pydevd_trace_dispatch_regular.py +1 -3
- {debugpy-1.8.7 → debugpy-1.8.9}/src/debugpy/_vendored/pydevd/_pydevd_frame_eval/pydevd_frame_evaluator.c +651 -631
- {debugpy-1.8.7 → debugpy-1.8.9}/src/debugpy/_vendored/pydevd/_pydevd_frame_eval/pydevd_modify_bytecode.py +2 -1
- {debugpy-1.8.7 → debugpy-1.8.9}/src/debugpy/_vendored/pydevd/_pydevd_frame_eval/vendored/bytecode/concrete.py +1 -2
- debugpy-1.8.9/src/debugpy/_vendored/pydevd/_pydevd_frame_eval/vendored/bytecode-0.13.0.dev0.dist-info/COPYING +21 -0
- debugpy-1.8.9/src/debugpy/_vendored/pydevd/_pydevd_frame_eval/vendored/bytecode-0.13.0.dev0.dist-info/INSTALLER +1 -0
- debugpy-1.8.9/src/debugpy/_vendored/pydevd/_pydevd_frame_eval/vendored/bytecode-0.13.0.dev0.dist-info/METADATA +77 -0
- debugpy-1.8.9/src/debugpy/_vendored/pydevd/_pydevd_frame_eval/vendored/bytecode-0.13.0.dev0.dist-info/RECORD +42 -0
- debugpy-1.8.9/src/debugpy/_vendored/pydevd/_pydevd_frame_eval/vendored/bytecode-0.13.0.dev0.dist-info/WHEEL +5 -0
- debugpy-1.8.9/src/debugpy/_vendored/pydevd/_pydevd_frame_eval/vendored/bytecode-0.13.0.dev0.dist-info/direct_url.json +1 -0
- debugpy-1.8.9/src/debugpy/_vendored/pydevd/_pydevd_frame_eval/vendored/bytecode-0.13.0.dev0.dist-info/top_level.txt +1 -0
- {debugpy-1.8.7 → debugpy-1.8.9}/src/debugpy/_vendored/pydevd/_pydevd_sys_monitoring/_pydevd_sys_monitoring.py +138 -100
- {debugpy-1.8.7 → debugpy-1.8.9}/src/debugpy/_vendored/pydevd/_pydevd_sys_monitoring/_pydevd_sys_monitoring_cython.c +7539 -5838
- {debugpy-1.8.7 → debugpy-1.8.9}/src/debugpy/_vendored/pydevd/_pydevd_sys_monitoring/_pydevd_sys_monitoring_cython.pyx +138 -100
- debugpy-1.8.9/src/debugpy/_vendored/pydevd/pydev_ipython/__init__.py +0 -0
- {debugpy-1.8.7 → debugpy-1.8.9}/src/debugpy/_vendored/pydevd/pydev_ipython/inputhookqt4.py +1 -2
- {debugpy-1.8.7 → debugpy-1.8.9}/src/debugpy/_vendored/pydevd/pydev_ipython/inputhookqt5.py +1 -1
- {debugpy-1.8.7 → debugpy-1.8.9}/src/debugpy/_vendored/pydevd/pydev_ipython/inputhookqt6.py +1 -1
- {debugpy-1.8.7 → debugpy-1.8.9}/src/debugpy/_vendored/pydevd/pydev_ipython/qt_loaders.py +27 -4
- debugpy-1.8.9/src/debugpy/_vendored/pydevd/pydev_ipython/version.py +50 -0
- {debugpy-1.8.7 → debugpy-1.8.9}/src/debugpy/_vendored/pydevd/pydevd.py +35 -38
- {debugpy-1.8.7 → debugpy-1.8.9}/src/debugpy/_vendored/pydevd/pydevd_attach_to_process/add_code_to_python_process.py +1 -1
- debugpy-1.8.9/src/debugpy/_vendored/pydevd/pydevd_attach_to_process/attach_amd64.dll +0 -0
- debugpy-1.8.9/src/debugpy/_vendored/pydevd/pydevd_attach_to_process/attach_amd64.pdb +0 -0
- {debugpy-1.8.7 → debugpy-1.8.9}/src/debugpy/_vendored/pydevd/pydevd_attach_to_process/attach_script.py +4 -0
- debugpy-1.8.9/src/debugpy/_vendored/pydevd/pydevd_attach_to_process/attach_x86.dll +0 -0
- debugpy-1.8.9/src/debugpy/_vendored/pydevd/pydevd_attach_to_process/attach_x86.pdb +0 -0
- {debugpy-1.8.7 → debugpy-1.8.9}/src/debugpy/_vendored/pydevd/pydevd_attach_to_process/common/py_settrace.hpp +11 -11
- {debugpy-1.8.7 → debugpy-1.8.9}/src/debugpy/_vendored/pydevd/pydevd_attach_to_process/inject_dll_amd64.exe +0 -0
- {debugpy-1.8.7 → debugpy-1.8.9}/src/debugpy/_vendored/pydevd/pydevd_attach_to_process/inject_dll_amd64.pdb +0 -0
- {debugpy-1.8.7 → debugpy-1.8.9}/src/debugpy/_vendored/pydevd/pydevd_attach_to_process/inject_dll_x86.exe +0 -0
- {debugpy-1.8.7 → debugpy-1.8.9}/src/debugpy/_vendored/pydevd/pydevd_attach_to_process/inject_dll_x86.pdb +0 -0
- {debugpy-1.8.7 → debugpy-1.8.9}/src/debugpy/_vendored/pydevd/pydevd_attach_to_process/run_code_on_dllmain_amd64.dll +0 -0
- {debugpy-1.8.7 → debugpy-1.8.9}/src/debugpy/_vendored/pydevd/pydevd_attach_to_process/run_code_on_dllmain_amd64.pdb +0 -0
- {debugpy-1.8.7 → debugpy-1.8.9}/src/debugpy/_vendored/pydevd/pydevd_attach_to_process/run_code_on_dllmain_x86.dll +0 -0
- {debugpy-1.8.7 → debugpy-1.8.9}/src/debugpy/_vendored/pydevd/pydevd_attach_to_process/run_code_on_dllmain_x86.pdb +0 -0
- {debugpy-1.8.7 → debugpy-1.8.9}/src/debugpy/_vendored/pydevd/pydevd_attach_to_process/windows/attach.cpp +2 -4
- {debugpy-1.8.7 → debugpy-1.8.9}/src/debugpy/_vendored/pydevd/pydevd_attach_to_process/windows/compile_windows.bat +6 -8
- {debugpy-1.8.7 → debugpy-1.8.9}/src/debugpy/_vendored/pydevd/pydevd_file_utils.py +28 -40
- {debugpy-1.8.7 → debugpy-1.8.9}/src/debugpy/_vendored/pydevd/pydevd_plugins/django_debug.py +2 -1
- {debugpy-1.8.7 → debugpy-1.8.9}/src/debugpy/_vendored/pydevd/pydevd_plugins/jinja2_debug.py +1 -1
- {debugpy-1.8.7 → debugpy-1.8.9}/src/debugpy/_vendored/pydevd/pydevd_tracing.py +4 -1
- {debugpy-1.8.7 → debugpy-1.8.9}/src/debugpy/_version.py +3 -3
- {debugpy-1.8.7 → debugpy-1.8.9}/src/debugpy/adapter/servers.py +2 -2
- {debugpy-1.8.7 → debugpy-1.8.9}/src/debugpy/common/__init__.py +2 -2
- {debugpy-1.8.7 → debugpy-1.8.9}/src/debugpy/launcher/debuggee.py +2 -1
- {debugpy-1.8.7 → debugpy-1.8.9}/src/debugpy/server/api.py +1 -1
- {debugpy-1.8.7 → debugpy-1.8.9/src/debugpy.egg-info}/PKG-INFO +1 -1
- {debugpy-1.8.7 → debugpy-1.8.9}/src/debugpy.egg-info/SOURCES.txt +8 -0
- debugpy-1.8.7/src/debugpy/_vendored/pydevd/pydev_ipython/version.py +0 -36
- debugpy-1.8.7/src/debugpy/_vendored/pydevd/pydevd_attach_to_process/attach_amd64.dll +0 -0
- debugpy-1.8.7/src/debugpy/_vendored/pydevd/pydevd_attach_to_process/attach_amd64.pdb +0 -0
- debugpy-1.8.7/src/debugpy/_vendored/pydevd/pydevd_attach_to_process/attach_x86.dll +0 -0
- debugpy-1.8.7/src/debugpy/_vendored/pydevd/pydevd_attach_to_process/attach_x86.pdb +0 -0
- {debugpy-1.8.7 → debugpy-1.8.9}/DESCRIPTION.md +0 -0
- {debugpy-1.8.7 → debugpy-1.8.9}/LICENSE +0 -0
- {debugpy-1.8.7 → debugpy-1.8.9}/MANIFEST.in +0 -0
- {debugpy-1.8.7 → debugpy-1.8.9}/README.md +0 -0
- {debugpy-1.8.7 → debugpy-1.8.9}/setup.cfg +0 -0
- {debugpy-1.8.7 → debugpy-1.8.9}/setup.py +0 -0
- {debugpy-1.8.7 → debugpy-1.8.9}/src/debugpy/ThirdPartyNotices.txt +0 -0
- {debugpy-1.8.7 → debugpy-1.8.9}/src/debugpy/__init__.py +0 -0
- {debugpy-1.8.7 → debugpy-1.8.9}/src/debugpy/__main__.py +0 -0
- {debugpy-1.8.7 → debugpy-1.8.9}/src/debugpy/_vendored/__init__.py +0 -0
- {debugpy-1.8.7 → debugpy-1.8.9}/src/debugpy/_vendored/_pydevd_packaging.py +0 -0
- {debugpy-1.8.7 → debugpy-1.8.9}/src/debugpy/_vendored/_util.py +0 -0
- {debugpy-1.8.7 → debugpy-1.8.9}/src/debugpy/_vendored/force_pydevd.py +0 -0
- {debugpy-1.8.7 → debugpy-1.8.9}/src/debugpy/_vendored/pydevd/_pydev_bundle/__init__.py +0 -0
- {debugpy-1.8.7 → debugpy-1.8.9}/src/debugpy/_vendored/pydevd/_pydev_bundle/_pydev_calltip_util.py +0 -0
- {debugpy-1.8.7 → debugpy-1.8.9}/src/debugpy/_vendored/pydevd/_pydev_bundle/_pydev_completer.py +0 -0
- {debugpy-1.8.7 → debugpy-1.8.9}/src/debugpy/_vendored/pydevd/_pydev_bundle/_pydev_execfile.py +0 -0
- {debugpy-1.8.7 → debugpy-1.8.9}/src/debugpy/_vendored/pydevd/_pydev_bundle/_pydev_filesystem_encoding.py +0 -0
- {debugpy-1.8.7 → debugpy-1.8.9}/src/debugpy/_vendored/pydevd/_pydev_bundle/_pydev_getopt.py +0 -0
- {debugpy-1.8.7 → debugpy-1.8.9}/src/debugpy/_vendored/pydevd/_pydev_bundle/_pydev_imports_tipper.py +0 -0
- {debugpy-1.8.7 → debugpy-1.8.9}/src/debugpy/_vendored/pydevd/_pydev_bundle/_pydev_jy_imports_tipper.py +0 -0
- {debugpy-1.8.7 → debugpy-1.8.9}/src/debugpy/_vendored/pydevd/_pydev_bundle/_pydev_log.py +0 -0
- {debugpy-1.8.7 → debugpy-1.8.9}/src/debugpy/_vendored/pydevd/_pydev_bundle/_pydev_saved_modules.py +0 -0
- {debugpy-1.8.7 → debugpy-1.8.9}/src/debugpy/_vendored/pydevd/_pydev_bundle/_pydev_sys_patch.py +0 -0
- {debugpy-1.8.7 → debugpy-1.8.9}/src/debugpy/_vendored/pydevd/_pydev_bundle/_pydev_tipper_common.py +0 -0
- {debugpy-1.8.7 → debugpy-1.8.9}/src/debugpy/_vendored/pydevd/_pydev_bundle/fsnotify/__init__.py +0 -0
- {debugpy-1.8.7 → debugpy-1.8.9}/src/debugpy/_vendored/pydevd/_pydev_bundle/pydev_console_utils.py +0 -0
- {debugpy-1.8.7 → debugpy-1.8.9}/src/debugpy/_vendored/pydevd/_pydev_bundle/pydev_import_hook.py +0 -0
- {debugpy-1.8.7 → debugpy-1.8.9}/src/debugpy/_vendored/pydevd/_pydev_bundle/pydev_imports.py +0 -0
- {debugpy-1.8.7 → debugpy-1.8.9}/src/debugpy/_vendored/pydevd/_pydev_bundle/pydev_ipython_console.py +0 -0
- {debugpy-1.8.7 → debugpy-1.8.9}/src/debugpy/_vendored/pydevd/_pydev_bundle/pydev_ipython_console_011.py +0 -0
- {debugpy-1.8.7 → debugpy-1.8.9}/src/debugpy/_vendored/pydevd/_pydev_bundle/pydev_localhost.py +0 -0
- {debugpy-1.8.7 → debugpy-1.8.9}/src/debugpy/_vendored/pydevd/_pydev_bundle/pydev_log.py +0 -0
- {debugpy-1.8.7 → debugpy-1.8.9}/src/debugpy/_vendored/pydevd/_pydev_bundle/pydev_monkey_qt.py +0 -0
- {debugpy-1.8.7 → debugpy-1.8.9}/src/debugpy/_vendored/pydevd/_pydev_bundle/pydev_override.py +0 -0
- {debugpy-1.8.7 → debugpy-1.8.9}/src/debugpy/_vendored/pydevd/_pydev_bundle/pydev_umd.py +0 -0
- {debugpy-1.8.7 → debugpy-1.8.9}/src/debugpy/_vendored/pydevd/_pydev_bundle/pydev_versioncheck.py +0 -0
- {debugpy-1.8.7 → debugpy-1.8.9}/src/debugpy/_vendored/pydevd/_pydev_runfiles/__init__.py +0 -0
- {debugpy-1.8.7 → debugpy-1.8.9}/src/debugpy/_vendored/pydevd/_pydev_runfiles/pydev_runfiles.py +0 -0
- {debugpy-1.8.7 → debugpy-1.8.9}/src/debugpy/_vendored/pydevd/_pydev_runfiles/pydev_runfiles_coverage.py +0 -0
- {debugpy-1.8.7 → debugpy-1.8.9}/src/debugpy/_vendored/pydevd/_pydev_runfiles/pydev_runfiles_nose.py +0 -0
- {debugpy-1.8.7 → debugpy-1.8.9}/src/debugpy/_vendored/pydevd/_pydev_runfiles/pydev_runfiles_parallel.py +0 -0
- {debugpy-1.8.7 → debugpy-1.8.9}/src/debugpy/_vendored/pydevd/_pydev_runfiles/pydev_runfiles_parallel_client.py +0 -0
- {debugpy-1.8.7 → debugpy-1.8.9}/src/debugpy/_vendored/pydevd/_pydev_runfiles/pydev_runfiles_pytest2.py +0 -0
- {debugpy-1.8.7 → debugpy-1.8.9}/src/debugpy/_vendored/pydevd/_pydev_runfiles/pydev_runfiles_unittest.py +0 -0
- {debugpy-1.8.7 → debugpy-1.8.9}/src/debugpy/_vendored/pydevd/_pydevd_bundle/__init__.py +0 -0
- {debugpy-1.8.7 → debugpy-1.8.9}/src/debugpy/_vendored/pydevd/_pydevd_bundle/_debug_adapter/__init__.py +0 -0
- {debugpy-1.8.7 → debugpy-1.8.9}/src/debugpy/_vendored/pydevd/_pydevd_bundle/_debug_adapter/debugProtocol.json +0 -0
- {debugpy-1.8.7 → debugpy-1.8.9}/src/debugpy/_vendored/pydevd/_pydevd_bundle/_debug_adapter/debugProtocolCustom.json +0 -0
- {debugpy-1.8.7 → debugpy-1.8.9}/src/debugpy/_vendored/pydevd/_pydevd_bundle/_debug_adapter/pydevd_base_schema.py +0 -0
- {debugpy-1.8.7 → debugpy-1.8.9}/src/debugpy/_vendored/pydevd/_pydevd_bundle/_debug_adapter/pydevd_schema.py +0 -0
- {debugpy-1.8.7 → debugpy-1.8.9}/src/debugpy/_vendored/pydevd/_pydevd_bundle/_debug_adapter/pydevd_schema_log.py +0 -0
- {debugpy-1.8.7 → debugpy-1.8.9}/src/debugpy/_vendored/pydevd/_pydevd_bundle/pydevconsole_code.py +0 -0
- {debugpy-1.8.7 → debugpy-1.8.9}/src/debugpy/_vendored/pydevd/_pydevd_bundle/pydevd_additional_thread_info.py +0 -0
- {debugpy-1.8.7 → debugpy-1.8.9}/src/debugpy/_vendored/pydevd/_pydevd_bundle/pydevd_additional_thread_info_regular.py +0 -0
- {debugpy-1.8.7 → debugpy-1.8.9}/src/debugpy/_vendored/pydevd/_pydevd_bundle/pydevd_breakpoints.py +0 -0
- {debugpy-1.8.7 → debugpy-1.8.9}/src/debugpy/_vendored/pydevd/_pydevd_bundle/pydevd_bytecode_utils.py +0 -0
- {debugpy-1.8.7 → debugpy-1.8.9}/src/debugpy/_vendored/pydevd/_pydevd_bundle/pydevd_bytecode_utils_py311.py +0 -0
- {debugpy-1.8.7 → debugpy-1.8.9}/src/debugpy/_vendored/pydevd/_pydevd_bundle/pydevd_comm_constants.py +0 -0
- {debugpy-1.8.7 → debugpy-1.8.9}/src/debugpy/_vendored/pydevd/_pydevd_bundle/pydevd_command_line_handling.py +0 -0
- {debugpy-1.8.7 → debugpy-1.8.9}/src/debugpy/_vendored/pydevd/_pydevd_bundle/pydevd_concurrency_analyser/__init__.py +0 -0
- {debugpy-1.8.7 → debugpy-1.8.9}/src/debugpy/_vendored/pydevd/_pydevd_bundle/pydevd_concurrency_analyser/pydevd_concurrency_logger.py +0 -0
- {debugpy-1.8.7 → debugpy-1.8.9}/src/debugpy/_vendored/pydevd/_pydevd_bundle/pydevd_concurrency_analyser/pydevd_thread_wrappers.py +0 -0
- {debugpy-1.8.7 → debugpy-1.8.9}/src/debugpy/_vendored/pydevd/_pydevd_bundle/pydevd_console.py +0 -0
- {debugpy-1.8.7 → debugpy-1.8.9}/src/debugpy/_vendored/pydevd/_pydevd_bundle/pydevd_custom_frames.py +0 -0
- {debugpy-1.8.7 → debugpy-1.8.9}/src/debugpy/_vendored/pydevd/_pydevd_bundle/pydevd_cython.pxd +0 -0
- {debugpy-1.8.7 → debugpy-1.8.9}/src/debugpy/_vendored/pydevd/_pydevd_bundle/pydevd_cython_wrapper.py +0 -0
- {debugpy-1.8.7 → debugpy-1.8.9}/src/debugpy/_vendored/pydevd/_pydevd_bundle/pydevd_defaults.py +0 -0
- {debugpy-1.8.7 → debugpy-1.8.9}/src/debugpy/_vendored/pydevd/_pydevd_bundle/pydevd_dont_trace.py +0 -0
- {debugpy-1.8.7 → debugpy-1.8.9}/src/debugpy/_vendored/pydevd/_pydevd_bundle/pydevd_dont_trace_files.py +0 -0
- {debugpy-1.8.7 → debugpy-1.8.9}/src/debugpy/_vendored/pydevd/_pydevd_bundle/pydevd_exec2.py +0 -0
- {debugpy-1.8.7 → debugpy-1.8.9}/src/debugpy/_vendored/pydevd/_pydevd_bundle/pydevd_extension_api.py +0 -0
- {debugpy-1.8.7 → debugpy-1.8.9}/src/debugpy/_vendored/pydevd/_pydevd_bundle/pydevd_extension_utils.py +0 -0
- {debugpy-1.8.7 → debugpy-1.8.9}/src/debugpy/_vendored/pydevd/_pydevd_bundle/pydevd_filtering.py +0 -0
- {debugpy-1.8.7 → debugpy-1.8.9}/src/debugpy/_vendored/pydevd/_pydevd_bundle/pydevd_gevent_integration.py +0 -0
- {debugpy-1.8.7 → debugpy-1.8.9}/src/debugpy/_vendored/pydevd/_pydevd_bundle/pydevd_import_class.py +0 -0
- {debugpy-1.8.7 → debugpy-1.8.9}/src/debugpy/_vendored/pydevd/_pydevd_bundle/pydevd_io.py +0 -0
- {debugpy-1.8.7 → debugpy-1.8.9}/src/debugpy/_vendored/pydevd/_pydevd_bundle/pydevd_json_debug_options.py +0 -0
- {debugpy-1.8.7 → debugpy-1.8.9}/src/debugpy/_vendored/pydevd/_pydevd_bundle/pydevd_net_command.py +0 -0
- {debugpy-1.8.7 → debugpy-1.8.9}/src/debugpy/_vendored/pydevd/_pydevd_bundle/pydevd_net_command_factory_json.py +0 -0
- {debugpy-1.8.7 → debugpy-1.8.9}/src/debugpy/_vendored/pydevd/_pydevd_bundle/pydevd_net_command_factory_xml.py +0 -0
- {debugpy-1.8.7 → debugpy-1.8.9}/src/debugpy/_vendored/pydevd/_pydevd_bundle/pydevd_process_net_command.py +0 -0
- {debugpy-1.8.7 → debugpy-1.8.9}/src/debugpy/_vendored/pydevd/_pydevd_bundle/pydevd_referrers.py +0 -0
- {debugpy-1.8.7 → debugpy-1.8.9}/src/debugpy/_vendored/pydevd/_pydevd_bundle/pydevd_reload.py +0 -0
- {debugpy-1.8.7 → debugpy-1.8.9}/src/debugpy/_vendored/pydevd/_pydevd_bundle/pydevd_resolver.py +0 -0
- {debugpy-1.8.7 → debugpy-1.8.9}/src/debugpy/_vendored/pydevd/_pydevd_bundle/pydevd_runpy.py +0 -0
- {debugpy-1.8.7 → debugpy-1.8.9}/src/debugpy/_vendored/pydevd/_pydevd_bundle/pydevd_safe_repr.py +0 -0
- {debugpy-1.8.7 → debugpy-1.8.9}/src/debugpy/_vendored/pydevd/_pydevd_bundle/pydevd_signature.py +0 -0
- {debugpy-1.8.7 → debugpy-1.8.9}/src/debugpy/_vendored/pydevd/_pydevd_bundle/pydevd_source_mapping.py +0 -0
- {debugpy-1.8.7 → debugpy-1.8.9}/src/debugpy/_vendored/pydevd/_pydevd_bundle/pydevd_stackless.py +0 -0
- {debugpy-1.8.7 → debugpy-1.8.9}/src/debugpy/_vendored/pydevd/_pydevd_bundle/pydevd_suspended_frames.py +0 -0
- {debugpy-1.8.7 → debugpy-1.8.9}/src/debugpy/_vendored/pydevd/_pydevd_bundle/pydevd_thread_lifecycle.py +0 -0
- {debugpy-1.8.7 → debugpy-1.8.9}/src/debugpy/_vendored/pydevd/_pydevd_bundle/pydevd_timeout.py +0 -0
- {debugpy-1.8.7 → debugpy-1.8.9}/src/debugpy/_vendored/pydevd/_pydevd_bundle/pydevd_trace_dispatch.py +0 -0
- {debugpy-1.8.7 → debugpy-1.8.9}/src/debugpy/_vendored/pydevd/_pydevd_bundle/pydevd_traceproperty.py +0 -0
- {debugpy-1.8.7 → debugpy-1.8.9}/src/debugpy/_vendored/pydevd/_pydevd_bundle/pydevd_utils.py +0 -0
- {debugpy-1.8.7 → debugpy-1.8.9}/src/debugpy/_vendored/pydevd/_pydevd_bundle/pydevd_vars.py +0 -0
- {debugpy-1.8.7 → debugpy-1.8.9}/src/debugpy/_vendored/pydevd/_pydevd_bundle/pydevd_vm_type.py +0 -0
- {debugpy-1.8.7 → debugpy-1.8.9}/src/debugpy/_vendored/pydevd/_pydevd_bundle/pydevd_xml.py +0 -0
- {debugpy-1.8.7 → debugpy-1.8.9}/src/debugpy/_vendored/pydevd/_pydevd_frame_eval/.gitignore +0 -0
- {debugpy-1.8.7 → debugpy-1.8.9}/src/debugpy/_vendored/pydevd/_pydevd_frame_eval/__init__.py +0 -0
- {debugpy-1.8.7 → debugpy-1.8.9}/src/debugpy/_vendored/pydevd/_pydevd_frame_eval/pydevd_frame_eval_cython_wrapper.py +0 -0
- {debugpy-1.8.7 → debugpy-1.8.9}/src/debugpy/_vendored/pydevd/_pydevd_frame_eval/pydevd_frame_eval_main.py +0 -0
- {debugpy-1.8.7 → debugpy-1.8.9}/src/debugpy/_vendored/pydevd/_pydevd_frame_eval/pydevd_frame_evaluator.pxd +0 -0
- {debugpy-1.8.7 → debugpy-1.8.9}/src/debugpy/_vendored/pydevd/_pydevd_frame_eval/pydevd_frame_evaluator.pyx +0 -0
- {debugpy-1.8.7 → debugpy-1.8.9}/src/debugpy/_vendored/pydevd/_pydevd_frame_eval/pydevd_frame_evaluator.template.pyx +0 -0
- {debugpy-1.8.7 → debugpy-1.8.9}/src/debugpy/_vendored/pydevd/_pydevd_frame_eval/pydevd_frame_tracing.py +0 -0
- {debugpy-1.8.7 → debugpy-1.8.9}/src/debugpy/_vendored/pydevd/_pydevd_frame_eval/release_mem.h +0 -0
- {debugpy-1.8.7 → debugpy-1.8.9}/src/debugpy/_vendored/pydevd/_pydevd_frame_eval/vendored/README.txt +0 -0
- {debugpy-1.8.7 → debugpy-1.8.9}/src/debugpy/_vendored/pydevd/_pydevd_frame_eval/vendored/__init__.py +0 -0
- {debugpy-1.8.7 → debugpy-1.8.9}/src/debugpy/_vendored/pydevd/_pydevd_frame_eval/vendored/bytecode/__init__.py +0 -0
- {debugpy-1.8.7 → debugpy-1.8.9}/src/debugpy/_vendored/pydevd/_pydevd_frame_eval/vendored/bytecode/bytecode.py +0 -0
- {debugpy-1.8.7 → debugpy-1.8.9}/src/debugpy/_vendored/pydevd/_pydevd_frame_eval/vendored/bytecode/cfg.py +0 -0
- {debugpy-1.8.7 → debugpy-1.8.9}/src/debugpy/_vendored/pydevd/_pydevd_frame_eval/vendored/bytecode/flags.py +0 -0
- {debugpy-1.8.7 → debugpy-1.8.9}/src/debugpy/_vendored/pydevd/_pydevd_frame_eval/vendored/bytecode/instr.py +0 -0
- {debugpy-1.8.7 → debugpy-1.8.9}/src/debugpy/_vendored/pydevd/_pydevd_frame_eval/vendored/bytecode/peephole_opt.py +0 -0
- {debugpy-1.8.7 → debugpy-1.8.9}/src/debugpy/_vendored/pydevd/_pydevd_frame_eval/vendored/bytecode/tests/__init__.py +0 -0
- {debugpy-1.8.7 → debugpy-1.8.9}/src/debugpy/_vendored/pydevd/_pydevd_frame_eval/vendored/bytecode/tests/test_bytecode.py +0 -0
- {debugpy-1.8.7 → debugpy-1.8.9}/src/debugpy/_vendored/pydevd/_pydevd_frame_eval/vendored/bytecode/tests/test_cfg.py +0 -0
- {debugpy-1.8.7 → debugpy-1.8.9}/src/debugpy/_vendored/pydevd/_pydevd_frame_eval/vendored/bytecode/tests/test_code.py +0 -0
- {debugpy-1.8.7 → debugpy-1.8.9}/src/debugpy/_vendored/pydevd/_pydevd_frame_eval/vendored/bytecode/tests/test_concrete.py +0 -0
- {debugpy-1.8.7 → debugpy-1.8.9}/src/debugpy/_vendored/pydevd/_pydevd_frame_eval/vendored/bytecode/tests/test_flags.py +0 -0
- {debugpy-1.8.7 → debugpy-1.8.9}/src/debugpy/_vendored/pydevd/_pydevd_frame_eval/vendored/bytecode/tests/test_instr.py +0 -0
- {debugpy-1.8.7 → debugpy-1.8.9}/src/debugpy/_vendored/pydevd/_pydevd_frame_eval/vendored/bytecode/tests/test_misc.py +0 -0
- {debugpy-1.8.7 → debugpy-1.8.9}/src/debugpy/_vendored/pydevd/_pydevd_frame_eval/vendored/bytecode/tests/test_peephole_opt.py +0 -0
- {debugpy-1.8.7 → debugpy-1.8.9}/src/debugpy/_vendored/pydevd/_pydevd_frame_eval/vendored/bytecode/tests/util_annotation.py +0 -0
- /debugpy-1.8.7/src/debugpy/_vendored/pydevd/pydev_ipython/__init__.py → /debugpy-1.8.9/src/debugpy/_vendored/pydevd/_pydevd_frame_eval/vendored/bytecode-0.13.0.dev0.dist-info/REQUESTED +0 -0
- {debugpy-1.8.7 → debugpy-1.8.9}/src/debugpy/_vendored/pydevd/_pydevd_frame_eval/vendored/pydevd_fix_code.py +0 -0
- {debugpy-1.8.7 → debugpy-1.8.9}/src/debugpy/_vendored/pydevd/_pydevd_sys_monitoring/_pydevd_sys_monitoring_cython.pxd +0 -0
- {debugpy-1.8.7 → debugpy-1.8.9}/src/debugpy/_vendored/pydevd/_pydevd_sys_monitoring/pydevd_sys_monitoring.py +0 -0
- {debugpy-1.8.7 → debugpy-1.8.9}/src/debugpy/_vendored/pydevd/pydev_app_engine_debug_startup.py +0 -0
- {debugpy-1.8.7 → debugpy-1.8.9}/src/debugpy/_vendored/pydevd/pydev_coverage.py +0 -0
- {debugpy-1.8.7 → debugpy-1.8.9}/src/debugpy/_vendored/pydevd/pydev_ipython/README +0 -0
- {debugpy-1.8.7 → debugpy-1.8.9}/src/debugpy/_vendored/pydevd/pydev_ipython/inputhook.py +0 -0
- {debugpy-1.8.7 → debugpy-1.8.9}/src/debugpy/_vendored/pydevd/pydev_ipython/inputhookglut.py +0 -0
- {debugpy-1.8.7 → debugpy-1.8.9}/src/debugpy/_vendored/pydevd/pydev_ipython/inputhookgtk.py +0 -0
- {debugpy-1.8.7 → debugpy-1.8.9}/src/debugpy/_vendored/pydevd/pydev_ipython/inputhookgtk3.py +0 -0
- {debugpy-1.8.7 → debugpy-1.8.9}/src/debugpy/_vendored/pydevd/pydev_ipython/inputhookpyglet.py +0 -0
- {debugpy-1.8.7 → debugpy-1.8.9}/src/debugpy/_vendored/pydevd/pydev_ipython/inputhooktk.py +0 -0
- {debugpy-1.8.7 → debugpy-1.8.9}/src/debugpy/_vendored/pydevd/pydev_ipython/inputhookwx.py +0 -0
- {debugpy-1.8.7 → debugpy-1.8.9}/src/debugpy/_vendored/pydevd/pydev_ipython/matplotlibtools.py +0 -0
- {debugpy-1.8.7 → debugpy-1.8.9}/src/debugpy/_vendored/pydevd/pydev_ipython/qt.py +0 -0
- {debugpy-1.8.7 → debugpy-1.8.9}/src/debugpy/_vendored/pydevd/pydev_ipython/qt_for_kernel.py +0 -0
- {debugpy-1.8.7 → debugpy-1.8.9}/src/debugpy/_vendored/pydevd/pydev_pysrc.py +0 -0
- {debugpy-1.8.7 → debugpy-1.8.9}/src/debugpy/_vendored/pydevd/pydev_run_in_console.py +0 -0
- {debugpy-1.8.7 → debugpy-1.8.9}/src/debugpy/_vendored/pydevd/pydev_sitecustomize/__not_in_default_pythonpath.txt +0 -0
- {debugpy-1.8.7 → debugpy-1.8.9}/src/debugpy/_vendored/pydevd/pydev_sitecustomize/sitecustomize.py +0 -0
- {debugpy-1.8.7 → debugpy-1.8.9}/src/debugpy/_vendored/pydevd/pydevconsole.py +0 -0
- {debugpy-1.8.7 → debugpy-1.8.9}/src/debugpy/_vendored/pydevd/pydevd_attach_to_process/README.txt +0 -0
- {debugpy-1.8.7 → debugpy-1.8.9}/src/debugpy/_vendored/pydevd/pydevd_attach_to_process/_always_live_program.py +0 -0
- {debugpy-1.8.7 → debugpy-1.8.9}/src/debugpy/_vendored/pydevd/pydevd_attach_to_process/_check.py +0 -0
- {debugpy-1.8.7 → debugpy-1.8.9}/src/debugpy/_vendored/pydevd/pydevd_attach_to_process/_test_attach_to_process.py +0 -0
- {debugpy-1.8.7 → debugpy-1.8.9}/src/debugpy/_vendored/pydevd/pydevd_attach_to_process/_test_attach_to_process_linux.py +0 -0
- {debugpy-1.8.7 → debugpy-1.8.9}/src/debugpy/_vendored/pydevd/pydevd_attach_to_process/attach_pydevd.py +0 -0
- {debugpy-1.8.7 → debugpy-1.8.9}/src/debugpy/_vendored/pydevd/pydevd_attach_to_process/common/py_custom_pyeval_settrace.hpp +0 -0
- {debugpy-1.8.7 → debugpy-1.8.9}/src/debugpy/_vendored/pydevd/pydevd_attach_to_process/common/py_custom_pyeval_settrace_310.hpp +0 -0
- {debugpy-1.8.7 → debugpy-1.8.9}/src/debugpy/_vendored/pydevd/pydevd_attach_to_process/common/py_custom_pyeval_settrace_311.hpp +0 -0
- {debugpy-1.8.7 → debugpy-1.8.9}/src/debugpy/_vendored/pydevd/pydevd_attach_to_process/common/py_custom_pyeval_settrace_common.hpp +0 -0
- {debugpy-1.8.7 → debugpy-1.8.9}/src/debugpy/_vendored/pydevd/pydevd_attach_to_process/common/py_utils.hpp +0 -0
- {debugpy-1.8.7 → debugpy-1.8.9}/src/debugpy/_vendored/pydevd/pydevd_attach_to_process/common/py_version.hpp +0 -0
- {debugpy-1.8.7 → debugpy-1.8.9}/src/debugpy/_vendored/pydevd/pydevd_attach_to_process/common/python.h +0 -0
- {debugpy-1.8.7 → debugpy-1.8.9}/src/debugpy/_vendored/pydevd/pydevd_attach_to_process/common/ref_utils.hpp +0 -0
- {debugpy-1.8.7 → debugpy-1.8.9}/src/debugpy/_vendored/pydevd/pydevd_attach_to_process/linux_and_mac/.gitignore +0 -0
- {debugpy-1.8.7 → debugpy-1.8.9}/src/debugpy/_vendored/pydevd/pydevd_attach_to_process/linux_and_mac/attach.cpp +0 -0
- {debugpy-1.8.7 → debugpy-1.8.9}/src/debugpy/_vendored/pydevd/pydevd_attach_to_process/linux_and_mac/compile_linux.sh +0 -0
- {debugpy-1.8.7 → debugpy-1.8.9}/src/debugpy/_vendored/pydevd/pydevd_attach_to_process/linux_and_mac/compile_mac.sh +0 -0
- {debugpy-1.8.7 → debugpy-1.8.9}/src/debugpy/_vendored/pydevd/pydevd_attach_to_process/linux_and_mac/compile_manylinux.cmd +0 -0
- {debugpy-1.8.7 → debugpy-1.8.9}/src/debugpy/_vendored/pydevd/pydevd_attach_to_process/linux_and_mac/lldb_prepare.py +0 -0
- {debugpy-1.8.7 → debugpy-1.8.9}/src/debugpy/_vendored/pydevd/pydevd_attach_to_process/winappdbg/__init__.py +0 -0
- {debugpy-1.8.7 → debugpy-1.8.9}/src/debugpy/_vendored/pydevd/pydevd_attach_to_process/winappdbg/breakpoint.py +0 -0
- {debugpy-1.8.7 → debugpy-1.8.9}/src/debugpy/_vendored/pydevd/pydevd_attach_to_process/winappdbg/compat.py +0 -0
- {debugpy-1.8.7 → debugpy-1.8.9}/src/debugpy/_vendored/pydevd/pydevd_attach_to_process/winappdbg/crash.py +0 -0
- {debugpy-1.8.7 → debugpy-1.8.9}/src/debugpy/_vendored/pydevd/pydevd_attach_to_process/winappdbg/debug.py +0 -0
- {debugpy-1.8.7 → debugpy-1.8.9}/src/debugpy/_vendored/pydevd/pydevd_attach_to_process/winappdbg/disasm.py +0 -0
- {debugpy-1.8.7 → debugpy-1.8.9}/src/debugpy/_vendored/pydevd/pydevd_attach_to_process/winappdbg/event.py +0 -0
- {debugpy-1.8.7 → debugpy-1.8.9}/src/debugpy/_vendored/pydevd/pydevd_attach_to_process/winappdbg/interactive.py +0 -0
- {debugpy-1.8.7 → debugpy-1.8.9}/src/debugpy/_vendored/pydevd/pydevd_attach_to_process/winappdbg/module.py +0 -0
- {debugpy-1.8.7 → debugpy-1.8.9}/src/debugpy/_vendored/pydevd/pydevd_attach_to_process/winappdbg/process.py +0 -0
- {debugpy-1.8.7 → debugpy-1.8.9}/src/debugpy/_vendored/pydevd/pydevd_attach_to_process/winappdbg/registry.py +0 -0
- {debugpy-1.8.7 → debugpy-1.8.9}/src/debugpy/_vendored/pydevd/pydevd_attach_to_process/winappdbg/search.py +0 -0
- {debugpy-1.8.7 → debugpy-1.8.9}/src/debugpy/_vendored/pydevd/pydevd_attach_to_process/winappdbg/sql.py +0 -0
- {debugpy-1.8.7 → debugpy-1.8.9}/src/debugpy/_vendored/pydevd/pydevd_attach_to_process/winappdbg/system.py +0 -0
- {debugpy-1.8.7 → debugpy-1.8.9}/src/debugpy/_vendored/pydevd/pydevd_attach_to_process/winappdbg/textio.py +0 -0
- {debugpy-1.8.7 → debugpy-1.8.9}/src/debugpy/_vendored/pydevd/pydevd_attach_to_process/winappdbg/thread.py +0 -0
- {debugpy-1.8.7 → debugpy-1.8.9}/src/debugpy/_vendored/pydevd/pydevd_attach_to_process/winappdbg/util.py +0 -0
- {debugpy-1.8.7 → debugpy-1.8.9}/src/debugpy/_vendored/pydevd/pydevd_attach_to_process/winappdbg/win32/__init__.py +0 -0
- {debugpy-1.8.7 → debugpy-1.8.9}/src/debugpy/_vendored/pydevd/pydevd_attach_to_process/winappdbg/win32/advapi32.py +0 -0
- {debugpy-1.8.7 → debugpy-1.8.9}/src/debugpy/_vendored/pydevd/pydevd_attach_to_process/winappdbg/win32/context_amd64.py +0 -0
- {debugpy-1.8.7 → debugpy-1.8.9}/src/debugpy/_vendored/pydevd/pydevd_attach_to_process/winappdbg/win32/context_i386.py +0 -0
- {debugpy-1.8.7 → debugpy-1.8.9}/src/debugpy/_vendored/pydevd/pydevd_attach_to_process/winappdbg/win32/dbghelp.py +0 -0
- {debugpy-1.8.7 → debugpy-1.8.9}/src/debugpy/_vendored/pydevd/pydevd_attach_to_process/winappdbg/win32/defines.py +0 -0
- {debugpy-1.8.7 → debugpy-1.8.9}/src/debugpy/_vendored/pydevd/pydevd_attach_to_process/winappdbg/win32/gdi32.py +0 -0
- {debugpy-1.8.7 → debugpy-1.8.9}/src/debugpy/_vendored/pydevd/pydevd_attach_to_process/winappdbg/win32/kernel32.py +0 -0
- {debugpy-1.8.7 → debugpy-1.8.9}/src/debugpy/_vendored/pydevd/pydevd_attach_to_process/winappdbg/win32/ntdll.py +0 -0
- {debugpy-1.8.7 → debugpy-1.8.9}/src/debugpy/_vendored/pydevd/pydevd_attach_to_process/winappdbg/win32/peb_teb.py +0 -0
- {debugpy-1.8.7 → debugpy-1.8.9}/src/debugpy/_vendored/pydevd/pydevd_attach_to_process/winappdbg/win32/psapi.py +0 -0
- {debugpy-1.8.7 → debugpy-1.8.9}/src/debugpy/_vendored/pydevd/pydevd_attach_to_process/winappdbg/win32/shell32.py +0 -0
- {debugpy-1.8.7 → debugpy-1.8.9}/src/debugpy/_vendored/pydevd/pydevd_attach_to_process/winappdbg/win32/shlwapi.py +0 -0
- {debugpy-1.8.7 → debugpy-1.8.9}/src/debugpy/_vendored/pydevd/pydevd_attach_to_process/winappdbg/win32/user32.py +0 -0
- {debugpy-1.8.7 → debugpy-1.8.9}/src/debugpy/_vendored/pydevd/pydevd_attach_to_process/winappdbg/win32/version.py +0 -0
- {debugpy-1.8.7 → debugpy-1.8.9}/src/debugpy/_vendored/pydevd/pydevd_attach_to_process/winappdbg/win32/wtsapi32.py +0 -0
- {debugpy-1.8.7 → debugpy-1.8.9}/src/debugpy/_vendored/pydevd/pydevd_attach_to_process/winappdbg/window.py +0 -0
- {debugpy-1.8.7 → debugpy-1.8.9}/src/debugpy/_vendored/pydevd/pydevd_attach_to_process/windows/attach.h +0 -0
- {debugpy-1.8.7 → debugpy-1.8.9}/src/debugpy/_vendored/pydevd/pydevd_attach_to_process/windows/inject_dll.cpp +0 -0
- {debugpy-1.8.7 → debugpy-1.8.9}/src/debugpy/_vendored/pydevd/pydevd_attach_to_process/windows/py_win_helpers.hpp +0 -0
- {debugpy-1.8.7 → debugpy-1.8.9}/src/debugpy/_vendored/pydevd/pydevd_attach_to_process/windows/run_code_in_memory.hpp +0 -0
- {debugpy-1.8.7 → debugpy-1.8.9}/src/debugpy/_vendored/pydevd/pydevd_attach_to_process/windows/run_code_on_dllmain.cpp +0 -0
- {debugpy-1.8.7 → debugpy-1.8.9}/src/debugpy/_vendored/pydevd/pydevd_attach_to_process/windows/stdafx.cpp +0 -0
- {debugpy-1.8.7 → debugpy-1.8.9}/src/debugpy/_vendored/pydevd/pydevd_attach_to_process/windows/stdafx.h +0 -0
- {debugpy-1.8.7 → debugpy-1.8.9}/src/debugpy/_vendored/pydevd/pydevd_attach_to_process/windows/targetver.h +0 -0
- {debugpy-1.8.7 → debugpy-1.8.9}/src/debugpy/_vendored/pydevd/pydevd_plugins/__init__.py +0 -0
- {debugpy-1.8.7 → debugpy-1.8.9}/src/debugpy/_vendored/pydevd/pydevd_plugins/extensions/README.md +0 -0
- {debugpy-1.8.7 → debugpy-1.8.9}/src/debugpy/_vendored/pydevd/pydevd_plugins/extensions/__init__.py +0 -0
- {debugpy-1.8.7 → debugpy-1.8.9}/src/debugpy/_vendored/pydevd/pydevd_plugins/extensions/types/__init__.py +0 -0
- {debugpy-1.8.7 → debugpy-1.8.9}/src/debugpy/_vendored/pydevd/pydevd_plugins/extensions/types/pydevd_helpers.py +0 -0
- {debugpy-1.8.7 → debugpy-1.8.9}/src/debugpy/_vendored/pydevd/pydevd_plugins/extensions/types/pydevd_plugin_numpy_types.py +0 -0
- {debugpy-1.8.7 → debugpy-1.8.9}/src/debugpy/_vendored/pydevd/pydevd_plugins/extensions/types/pydevd_plugin_pandas_types.py +0 -0
- {debugpy-1.8.7 → debugpy-1.8.9}/src/debugpy/_vendored/pydevd/pydevd_plugins/extensions/types/pydevd_plugins_django_form_str.py +0 -0
- {debugpy-1.8.7 → debugpy-1.8.9}/src/debugpy/_vendored/pydevd/pydevd_plugins/pydevd_line_validation.py +0 -0
- {debugpy-1.8.7 → debugpy-1.8.9}/src/debugpy/_vendored/pydevd/setup_pydevd_cython.py +0 -0
- {debugpy-1.8.7 → debugpy-1.8.9}/src/debugpy/adapter/__init__.py +0 -0
- {debugpy-1.8.7 → debugpy-1.8.9}/src/debugpy/adapter/__main__.py +0 -0
- {debugpy-1.8.7 → debugpy-1.8.9}/src/debugpy/adapter/clients.py +0 -0
- {debugpy-1.8.7 → debugpy-1.8.9}/src/debugpy/adapter/components.py +0 -0
- {debugpy-1.8.7 → debugpy-1.8.9}/src/debugpy/adapter/launchers.py +0 -0
- {debugpy-1.8.7 → debugpy-1.8.9}/src/debugpy/adapter/sessions.py +0 -0
- {debugpy-1.8.7 → debugpy-1.8.9}/src/debugpy/common/json.py +0 -0
- {debugpy-1.8.7 → debugpy-1.8.9}/src/debugpy/common/log.py +0 -0
- {debugpy-1.8.7 → debugpy-1.8.9}/src/debugpy/common/messaging.py +0 -0
- {debugpy-1.8.7 → debugpy-1.8.9}/src/debugpy/common/singleton.py +0 -0
- {debugpy-1.8.7 → debugpy-1.8.9}/src/debugpy/common/sockets.py +0 -0
- {debugpy-1.8.7 → debugpy-1.8.9}/src/debugpy/common/stacks.py +0 -0
- {debugpy-1.8.7 → debugpy-1.8.9}/src/debugpy/common/timestamp.py +0 -0
- {debugpy-1.8.7 → debugpy-1.8.9}/src/debugpy/common/util.py +0 -0
- {debugpy-1.8.7 → debugpy-1.8.9}/src/debugpy/launcher/__init__.py +0 -0
- {debugpy-1.8.7 → debugpy-1.8.9}/src/debugpy/launcher/__main__.py +0 -0
- {debugpy-1.8.7 → debugpy-1.8.9}/src/debugpy/launcher/handlers.py +0 -0
- {debugpy-1.8.7 → debugpy-1.8.9}/src/debugpy/launcher/output.py +0 -0
- {debugpy-1.8.7 → debugpy-1.8.9}/src/debugpy/launcher/winapi.py +0 -0
- {debugpy-1.8.7 → debugpy-1.8.9}/src/debugpy/public_api.py +0 -0
- {debugpy-1.8.7 → debugpy-1.8.9}/src/debugpy/server/__init__.py +0 -0
- {debugpy-1.8.7 → debugpy-1.8.9}/src/debugpy/server/attach_pid_injected.py +0 -0
- {debugpy-1.8.7 → debugpy-1.8.9}/src/debugpy/server/cli.py +0 -0
- {debugpy-1.8.7 → debugpy-1.8.9}/src/debugpy.egg-info/dependency_links.txt +0 -0
- {debugpy-1.8.7 → debugpy-1.8.9}/src/debugpy.egg-info/entry_points.txt +0 -0
- {debugpy-1.8.7 → debugpy-1.8.9}/src/debugpy.egg-info/top_level.txt +0 -0
- {debugpy-1.8.7 → debugpy-1.8.9}/versioneer.py +0 -0
|
@@ -3,6 +3,7 @@ Entry point module (keep at root):
|
|
|
3
3
|
|
|
4
4
|
This module starts the debugger.
|
|
5
5
|
"""
|
|
6
|
+
|
|
6
7
|
import sys # @NoMove
|
|
7
8
|
|
|
8
9
|
if sys.version_info[:2] < (3, 6):
|
|
@@ -11,14 +12,11 @@ if sys.version_info[:2] < (3, 6):
|
|
|
11
12
|
)
|
|
12
13
|
import os
|
|
13
14
|
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
# if its dependencies cannot be imported.
|
|
20
|
-
sys.path.append(os.path.dirname(os.path.abspath(__file__)))
|
|
21
|
-
import _pydev_bundle
|
|
15
|
+
# On the first import of a pydevd module, add pydevd itself to the PYTHONPATH
|
|
16
|
+
this_dir = os.path.dirname(os.path.abspath(__file__))
|
|
17
|
+
sys.path.insert(0, this_dir)
|
|
18
|
+
|
|
19
|
+
import _pydev_bundle
|
|
22
20
|
|
|
23
21
|
# Import this first as it'll check for shadowed modules and will make sure that we import
|
|
24
22
|
# things as needed for gevent.
|
|
@@ -100,7 +98,7 @@ from _pydevd_bundle.pydevd_defaults import PydevdCustomization # Note: import a
|
|
|
100
98
|
from _pydevd_bundle.pydevd_custom_frames import CustomFramesContainer, custom_frames_container_init
|
|
101
99
|
from _pydevd_bundle.pydevd_dont_trace_files import DONT_TRACE, PYDEV_FILE, LIB_FILE, DONT_TRACE_DIRS
|
|
102
100
|
from _pydevd_bundle.pydevd_extension_api import DebuggerEventHandler
|
|
103
|
-
from _pydevd_bundle.pydevd_frame_utils import add_exception_to_frame, remove_exception_from_frame
|
|
101
|
+
from _pydevd_bundle.pydevd_frame_utils import add_exception_to_frame, remove_exception_from_frame, short_stack
|
|
104
102
|
from _pydevd_bundle.pydevd_net_command_factory_xml import NetCommandFactory
|
|
105
103
|
from _pydevd_bundle.pydevd_trace_dispatch import (
|
|
106
104
|
trace_dispatch as _trace_dispatch,
|
|
@@ -175,7 +173,7 @@ if SUPPORT_GEVENT:
|
|
|
175
173
|
if USE_CUSTOM_SYS_CURRENT_FRAMES_MAP:
|
|
176
174
|
from _pydevd_bundle.pydevd_constants import constructed_tid_to_last_frame
|
|
177
175
|
|
|
178
|
-
__version_info__ = (3,
|
|
176
|
+
__version_info__ = (3, 2, 3)
|
|
179
177
|
__version_info_str__ = []
|
|
180
178
|
for v in __version_info__:
|
|
181
179
|
__version_info_str__.append(str(v))
|
|
@@ -257,6 +255,7 @@ TIMEOUT_FAST = 1.0 / 50
|
|
|
257
255
|
# PyDBCommandThread
|
|
258
256
|
# =======================================================================================================================
|
|
259
257
|
class PyDBCommandThread(PyDBDaemonThread):
|
|
258
|
+
|
|
260
259
|
def __init__(self, py_db):
|
|
261
260
|
PyDBDaemonThread.__init__(self, py_db)
|
|
262
261
|
self._py_db_command_thread_event = py_db._py_db_command_thread_event
|
|
@@ -301,6 +300,7 @@ class PyDBCommandThread(PyDBDaemonThread):
|
|
|
301
300
|
# Non-daemon thread: guarantees that all data is written even if program is finished
|
|
302
301
|
# =======================================================================================================================
|
|
303
302
|
class CheckAliveThread(PyDBDaemonThread):
|
|
303
|
+
|
|
304
304
|
def __init__(self, py_db):
|
|
305
305
|
PyDBDaemonThread.__init__(self, py_db)
|
|
306
306
|
self.name = "pydevd.CheckAliveThread"
|
|
@@ -733,6 +733,7 @@ class PyDB(object):
|
|
|
733
733
|
# in the namespace (and thus can't be relied upon unless the reference was previously
|
|
734
734
|
# saved).
|
|
735
735
|
if IS_IRONPYTHON:
|
|
736
|
+
|
|
736
737
|
# A partial() cannot be used in IronPython for sys.settrace.
|
|
737
738
|
def new_trace_dispatch(frame, event, arg):
|
|
738
739
|
return _trace_dispatch(self, frame, event, arg)
|
|
@@ -793,11 +794,11 @@ class PyDB(object):
|
|
|
793
794
|
max_line = -1
|
|
794
795
|
min_line = sys.maxsize
|
|
795
796
|
for _, line in dis.findlinestarts(code_obj):
|
|
796
|
-
if line
|
|
797
|
-
|
|
798
|
-
|
|
799
|
-
|
|
800
|
-
|
|
797
|
+
if line is not None:
|
|
798
|
+
if line > max_line:
|
|
799
|
+
max_line = line
|
|
800
|
+
if line < min_line:
|
|
801
|
+
min_line = line
|
|
801
802
|
|
|
802
803
|
try_except_infos = [x for x in try_except_infos if min_line <= x.try_line <= max_line]
|
|
803
804
|
return try_except_infos
|
|
@@ -1012,7 +1013,7 @@ class PyDB(object):
|
|
|
1012
1013
|
abs_path = abs_path[0:i]
|
|
1013
1014
|
i = max(abs_path.rfind("/"), abs_path.rfind("\\"))
|
|
1014
1015
|
if i:
|
|
1015
|
-
dirname = abs_path[i + 1
|
|
1016
|
+
dirname = abs_path[i + 1:]
|
|
1016
1017
|
# At this point, something as:
|
|
1017
1018
|
# "my_path\_pydev_runfiles\__init__.py"
|
|
1018
1019
|
# is now "_pydev_runfiles".
|
|
@@ -1075,20 +1076,7 @@ class PyDB(object):
|
|
|
1075
1076
|
return _cache_file_type[cache_key]
|
|
1076
1077
|
except:
|
|
1077
1078
|
if abs_real_path_and_basename[0] == "<string>":
|
|
1078
|
-
# Consider it an untraceable file unless there's no back frame (ignoring
|
|
1079
|
-
# internal files and runpy.py).
|
|
1080
|
-
if frame.f_back is None:
|
|
1081
|
-
_cache_file_type[cache_key] = None
|
|
1082
|
-
return None
|
|
1083
|
-
|
|
1084
|
-
back_basename = pydevd_file_utils.basename(frame.f_back.f_code.co_filename)
|
|
1085
|
-
if "sys_monitoring" in back_basename or "pydevd" in back_basename:
|
|
1086
|
-
# Special case, this is a string coming from pydevd itself
|
|
1087
|
-
_cache_file_type[cache_key] = PYDEV_FILE
|
|
1088
|
-
return PYDEV_FILE
|
|
1089
|
-
|
|
1090
1079
|
f = frame.f_back
|
|
1091
|
-
back_frames = ""
|
|
1092
1080
|
while f is not None:
|
|
1093
1081
|
if self.get_file_type(f) != self.PYDEV_FILE and pydevd_file_utils.basename(f.f_code.co_filename) not in (
|
|
1094
1082
|
"runpy.py",
|
|
@@ -1105,8 +1093,7 @@ class PyDB(object):
|
|
|
1105
1093
|
# to show it in the stack.
|
|
1106
1094
|
_cache_file_type[cache_key] = LIB_FILE
|
|
1107
1095
|
return LIB_FILE
|
|
1108
|
-
|
|
1109
|
-
back_frames += " -> %s" % (pydevd_file_utils.basename(f.f_code.co_filename))
|
|
1096
|
+
|
|
1110
1097
|
f = f.f_back
|
|
1111
1098
|
else:
|
|
1112
1099
|
# This is a top-level file (used in python -c), so, trace it as usual... we
|
|
@@ -1544,6 +1531,7 @@ class PyDB(object):
|
|
|
1544
1531
|
self._dap_messages_listeners.append(listener)
|
|
1545
1532
|
|
|
1546
1533
|
class _WaitForConnectionThread(PyDBDaemonThread):
|
|
1534
|
+
|
|
1547
1535
|
def __init__(self, py_db):
|
|
1548
1536
|
PyDBDaemonThread.__init__(self, py_db)
|
|
1549
1537
|
self._server_socket = None
|
|
@@ -1597,7 +1585,7 @@ class PyDB(object):
|
|
|
1597
1585
|
"""returns internal command queue for a given thread.
|
|
1598
1586
|
if new queue is created, notify the RDB about it"""
|
|
1599
1587
|
if thread_id.startswith("__frame__"):
|
|
1600
|
-
thread_id = thread_id[thread_id.rfind("|") + 1
|
|
1588
|
+
thread_id = thread_id[thread_id.rfind("|") + 1:]
|
|
1601
1589
|
return self._cmd_queue[thread_id], self._thread_events[thread_id]
|
|
1602
1590
|
|
|
1603
1591
|
def post_method_as_internal_command(self, thread_id, method, *args, **kwargs):
|
|
@@ -1774,7 +1762,7 @@ class PyDB(object):
|
|
|
1774
1762
|
# (so, clear the cache related to that).
|
|
1775
1763
|
self._running_thread_ids = {}
|
|
1776
1764
|
|
|
1777
|
-
def process_internal_commands(self, process_thread_ids: Optional[tuple]
|
|
1765
|
+
def process_internal_commands(self, process_thread_ids: Optional[tuple]=None):
|
|
1778
1766
|
"""
|
|
1779
1767
|
This function processes internal commands.
|
|
1780
1768
|
"""
|
|
@@ -1933,10 +1921,10 @@ class PyDB(object):
|
|
|
1933
1921
|
self,
|
|
1934
1922
|
thread,
|
|
1935
1923
|
stop_reason: int,
|
|
1936
|
-
suspend_other_threads: bool
|
|
1924
|
+
suspend_other_threads: bool=False,
|
|
1937
1925
|
is_pause=False,
|
|
1938
|
-
original_step_cmd: int
|
|
1939
|
-
suspend_requested: bool
|
|
1926
|
+
original_step_cmd: int=-1,
|
|
1927
|
+
suspend_requested: bool=False,
|
|
1940
1928
|
):
|
|
1941
1929
|
"""
|
|
1942
1930
|
:param thread:
|
|
@@ -2399,7 +2387,6 @@ class PyDB(object):
|
|
|
2399
2387
|
while frame is not None:
|
|
2400
2388
|
if not isinstance(frame, FrameType):
|
|
2401
2389
|
# This is the case for django/jinja frames.
|
|
2402
|
-
pydev_log.debug("Not a frame: %s", frame)
|
|
2403
2390
|
frame = frame.f_back
|
|
2404
2391
|
continue
|
|
2405
2392
|
|
|
@@ -2748,6 +2735,7 @@ class PyDB(object):
|
|
|
2748
2735
|
|
|
2749
2736
|
|
|
2750
2737
|
class IDAPMessagesListener(object):
|
|
2738
|
+
|
|
2751
2739
|
def before_send(self, message_as_dict):
|
|
2752
2740
|
"""
|
|
2753
2741
|
Called just before a message is sent to the IDE.
|
|
@@ -3233,6 +3221,7 @@ def stoptrace():
|
|
|
3233
3221
|
|
|
3234
3222
|
|
|
3235
3223
|
class Dispatcher(object):
|
|
3224
|
+
|
|
3236
3225
|
def __init__(self):
|
|
3237
3226
|
self.port = None
|
|
3238
3227
|
|
|
@@ -3252,6 +3241,7 @@ class Dispatcher(object):
|
|
|
3252
3241
|
|
|
3253
3242
|
|
|
3254
3243
|
class DispatchReader(ReaderThread):
|
|
3244
|
+
|
|
3255
3245
|
def __init__(self, dispatcher):
|
|
3256
3246
|
self.dispatcher = dispatcher
|
|
3257
3247
|
|
|
@@ -3452,7 +3442,6 @@ def _internal_patch_stdin(py_db=None, sys=None, getpass_mod=None):
|
|
|
3452
3442
|
|
|
3453
3443
|
getpass_mod.getpass = getpass
|
|
3454
3444
|
|
|
3455
|
-
|
|
3456
3445
|
# Dispatch on_debugger_modules_loaded here, after all primary py_db modules are loaded
|
|
3457
3446
|
|
|
3458
3447
|
|
|
@@ -3709,5 +3698,13 @@ def main():
|
|
|
3709
3698
|
debugger.wait_for_commands(globals)
|
|
3710
3699
|
|
|
3711
3700
|
|
|
3701
|
+
try:
|
|
3702
|
+
# Remove the entry we added: it should no longer be needed as
|
|
3703
|
+
# what we need should've been imported already
|
|
3704
|
+
if sys.path[:1] == [this_dir]:
|
|
3705
|
+
sys.path.remove(this_dir)
|
|
3706
|
+
except Exception:
|
|
3707
|
+
pass
|
|
3708
|
+
|
|
3712
3709
|
if __name__ == "__main__":
|
|
3713
3710
|
main()
|
|
@@ -308,7 +308,7 @@ def run_python_code_windows(pid, python_code, connect_debugger_tracing=False, sh
|
|
|
308
308
|
args = [target_executable, str(pid), target_dll_run_on_dllmain]
|
|
309
309
|
subprocess.check_call(args)
|
|
310
310
|
|
|
311
|
-
if not event.wait_for_event_set(
|
|
311
|
+
if not event.wait_for_event_set(15):
|
|
312
312
|
print("Timeout error: the attach may not have completed.")
|
|
313
313
|
sys.stdout.flush()
|
|
314
314
|
print("--- Finished dll injection ---\n")
|
|
Binary file
|
|
Binary file
|
|
@@ -81,6 +81,10 @@ def fix_main_thread_id(on_warn=lambda msg: None, on_exception=lambda msg: None,
|
|
|
81
81
|
import sys
|
|
82
82
|
import threading
|
|
83
83
|
|
|
84
|
+
# This is no longer needed in Py 3.13 (as the related issue is already fixed).
|
|
85
|
+
if sys.version_info[:2] >= (3, 13):
|
|
86
|
+
return
|
|
87
|
+
|
|
84
88
|
try:
|
|
85
89
|
with threading._active_limbo_lock:
|
|
86
90
|
main_thread_instance = get_main_thread_instance(threading)
|
|
Binary file
|
|
Binary file
|
|
@@ -127,20 +127,20 @@ int InternalSetSysTraceFunc(
|
|
|
127
127
|
pyUnicode_InternFromString = stringFromString;
|
|
128
128
|
}
|
|
129
129
|
|
|
130
|
-
|
|
131
|
-
|
|
132
|
-
DEFINE_PROC(pyEval_CallObjectWithKeywords, PyEval_CallObjectWithKeywords*, "PyEval_CallObjectWithKeywords", 532);
|
|
133
|
-
|
|
134
|
-
if(pyObject_FastCallDict == nullptr) {
|
|
135
|
-
DEFINE_PROC_NO_CHECK(pyObject_VectorcallDict, _PyObject_FastCallDict*, "PyObject_VectorcallDict", 533);
|
|
136
|
-
pyObject_FastCallDict = pyObject_VectorcallDict;
|
|
137
|
-
}
|
|
138
|
-
|
|
139
|
-
if(pyObject_FastCallDict == nullptr) {
|
|
140
|
-
// we have to use PyObject_FastCallDictCustom for older versions of CPython (pre 3.7).
|
|
130
|
+
_PyObject_FastCallDict* pyObject_FastCallDict;
|
|
131
|
+
if (version < PythonVersion_37) {
|
|
141
132
|
pyObject_FastCallDict = reinterpret_cast<_PyObject_FastCallDict*>(&PyObject_FastCallDictCustom);
|
|
133
|
+
} else if (version < PythonVersion_39) {
|
|
134
|
+
DEFINE_PROC(fastCallDict, _PyObject_FastCallDict*, "_PyObject_FastCallDict", 530);
|
|
135
|
+
pyObject_FastCallDict = fastCallDict;
|
|
136
|
+
} else {
|
|
137
|
+
DEFINE_PROC(vectorcallDict, _PyObject_FastCallDict*, "PyObject_VectorcallDict", 530);
|
|
138
|
+
pyObject_FastCallDict = vectorcallDict;
|
|
142
139
|
}
|
|
143
140
|
|
|
141
|
+
DEFINE_PROC(pyTuple_New, PyTuple_New*, "PyTuple_New", 531);
|
|
142
|
+
DEFINE_PROC(pyEval_CallObjectWithKeywords, PyEval_CallObjectWithKeywords*, "PyEval_CallObjectWithKeywords", 532);
|
|
143
|
+
|
|
144
144
|
|
|
145
145
|
DEFINE_PROC(pyTraceBack_Here, PyTraceBack_Here*, "PyTraceBack_Here", 540);
|
|
146
146
|
DEFINE_PROC(pyEval_SetTrace, PyEval_SetTrace*, "PyEval_SetTrace", 550);
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
@@ -108,8 +108,8 @@ struct InitializeThreadingInfo {
|
|
|
108
108
|
PyEval_Lock* initThreads;
|
|
109
109
|
|
|
110
110
|
CRITICAL_SECTION cs;
|
|
111
|
-
HANDLE initedEvent; // Note: only access with
|
|
112
|
-
bool completed; // Note: only access with
|
|
111
|
+
HANDLE initedEvent; // Note: only access with mutex locked (and check if not already nullptr).
|
|
112
|
+
bool completed; // Note: only access with mutex locked
|
|
113
113
|
};
|
|
114
114
|
|
|
115
115
|
|
|
@@ -322,7 +322,6 @@ extern "C"
|
|
|
322
322
|
return -240;
|
|
323
323
|
}
|
|
324
324
|
|
|
325
|
-
|
|
326
325
|
// Either _Py_CheckInterval or _PyEval_[GS]etSwitchInterval are useful, but not required
|
|
327
326
|
DEFINE_PROC_NO_CHECK(intervalCheck, int*, "_Py_CheckInterval", -250); // optional
|
|
328
327
|
DEFINE_PROC_NO_CHECK(getSwitchInterval, _PyEval_GetSwitchInterval*, "_PyEval_GetSwitchInterval", -260); // optional
|
|
@@ -375,7 +374,6 @@ extern "C"
|
|
|
375
374
|
initializeThreadingInfo->initedEvent = CreateEvent(nullptr, TRUE, FALSE, nullptr);
|
|
376
375
|
InitializeCriticalSection(&initializeThreadingInfo->cs);
|
|
377
376
|
|
|
378
|
-
|
|
379
377
|
// Add the call to initialize threading.
|
|
380
378
|
addPendingCall(&AttachCallback, initializeThreadingInfo);
|
|
381
379
|
|
|
@@ -1,6 +1,4 @@
|
|
|
1
1
|
:: This script compiles the attach and inject DLLs for x86 and x64 architectures.
|
|
2
|
-
:: It runs as part of the PR checks in the debugpy repo, AND the artifacts are uploaded to github,
|
|
3
|
-
:: so you don't have to run it locally.
|
|
4
2
|
|
|
5
3
|
setlocal
|
|
6
4
|
@cd /d %~dp0
|
|
@@ -12,29 +10,29 @@ setlocal
|
|
|
12
10
|
|
|
13
11
|
call "%VSDIR%\VC\Auxiliary\Build\vcvarsall.bat" x86 -vcvars_spectre_libs=spectre
|
|
14
12
|
|
|
15
|
-
cl -DUNICODE -D_UNICODE /EHsc /Zi /O1 /W3 /LD /MD /Qspectre attach.cpp /link /PROFILE /GUARD:CF /out:attach_x86.dll
|
|
13
|
+
cl -DUNICODE -D_UNICODE /EHsc /Zi /O1 /W3 /LD /MD /Qspectre attach.cpp /link /PROFILE /GUARD:CF /CETCOMPAT /out:attach_x86.dll
|
|
16
14
|
copy attach_x86.dll ..\attach_x86.dll /Y
|
|
17
15
|
copy attach_x86.pdb ..\attach_x86.pdb /Y
|
|
18
16
|
|
|
19
|
-
cl -DUNICODE -D_UNICODE /EHsc /Zi /O1 /W3 /LD /MD /D BITS_32 /Qspectre run_code_on_dllmain.cpp /link /PROFILE /GUARD:CF /out:run_code_on_dllmain_x86.dll
|
|
17
|
+
cl -DUNICODE -D_UNICODE /EHsc /Zi /O1 /W3 /LD /MD /D BITS_32 /Qspectre run_code_on_dllmain.cpp /link /PROFILE /GUARD:CF /CETCOMPAT /out:run_code_on_dllmain_x86.dll
|
|
20
18
|
copy run_code_on_dllmain_x86.dll ..\run_code_on_dllmain_x86.dll /Y
|
|
21
19
|
copy run_code_on_dllmain_x86.pdb ..\run_code_on_dllmain_x86.pdb /Y
|
|
22
20
|
|
|
23
|
-
cl /EHsc /Zi /O1 /W3 /Qspectre inject_dll.cpp /link /PROFILE /GUARD:CF /out:inject_dll_x86.exe
|
|
21
|
+
cl /EHsc /Zi /O1 /W3 /Qspectre inject_dll.cpp /link /PROFILE /GUARD:CF /CETCOMPAT /out:inject_dll_x86.exe
|
|
24
22
|
copy inject_dll_x86.exe ..\inject_dll_x86.exe /Y
|
|
25
23
|
copy inject_dll_x86.pdb ..\inject_dll_x86.pdb /Y
|
|
26
24
|
|
|
27
25
|
call "%VSDIR%\VC\Auxiliary\Build\vcvarsall.bat" x86_amd64 -vcvars_spectre_libs=spectre
|
|
28
26
|
|
|
29
|
-
cl -DUNICODE -D_UNICODE /EHsc /Zi /O1 /W3 /LD /MD /Qspectre attach.cpp /link /PROFILE /GUARD:CF /out:attach_amd64.dll
|
|
27
|
+
cl -DUNICODE -D_UNICODE /EHsc /Zi /O1 /W3 /LD /MD /Qspectre attach.cpp /link /PROFILE /GUARD:CF /CETCOMPAT /out:attach_amd64.dll
|
|
30
28
|
copy attach_amd64.dll ..\attach_amd64.dll /Y
|
|
31
29
|
copy attach_amd64.pdb ..\attach_amd64.pdb /Y
|
|
32
30
|
|
|
33
|
-
cl -DUNICODE -D_UNICODE /EHsc /Zi /O1 /W3 /LD /MD /D BITS_64 /Qspectre run_code_on_dllmain.cpp /link /PROFILE /GUARD:CF /out:run_code_on_dllmain_amd64.dll
|
|
31
|
+
cl -DUNICODE -D_UNICODE /EHsc /Zi /O1 /W3 /LD /MD /D BITS_64 /Qspectre run_code_on_dllmain.cpp /link /PROFILE /GUARD:CF /CETCOMPAT /out:run_code_on_dllmain_amd64.dll
|
|
34
32
|
copy run_code_on_dllmain_amd64.dll ..\run_code_on_dllmain_amd64.dll /Y
|
|
35
33
|
copy run_code_on_dllmain_amd64.pdb ..\run_code_on_dllmain_amd64.pdb /Y
|
|
36
34
|
|
|
37
|
-
cl /EHsc /Zi /O1 /W3 /Qspectre inject_dll.cpp /link /PROFILE /GUARD:CF /out:inject_dll_amd64.exe
|
|
35
|
+
cl /EHsc /Zi /O1 /W3 /Qspectre inject_dll.cpp /link /PROFILE /GUARD:CF /CETCOMPAT /out:inject_dll_amd64.exe
|
|
38
36
|
copy inject_dll_amd64.exe ..\inject_dll_amd64.exe /Y
|
|
39
37
|
copy inject_dll_amd64.pdb ..\inject_dll_amd64.pdb /Y
|
|
40
38
|
|
|
@@ -1,44 +1,44 @@
|
|
|
1
1
|
r"""
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
2
|
+
This module provides utilities to get the absolute filenames so that we can be sure that:
|
|
3
|
+
- The case of a file will match the actual file in the filesystem (otherwise breakpoints won't be hit).
|
|
4
|
+
- Providing means for the user to make path conversions when doing a remote debugging session in
|
|
5
|
+
one machine and debugging in another.
|
|
6
6
|
|
|
7
|
-
|
|
7
|
+
To do that, the PATHS_FROM_ECLIPSE_TO_PYTHON constant must be filled with the appropriate paths.
|
|
8
8
|
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
9
|
+
@note:
|
|
10
|
+
in this context, the server is where your python process is running
|
|
11
|
+
and the client is where eclipse is running.
|
|
12
12
|
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
13
|
+
E.g.:
|
|
14
|
+
If the server (your python process) has the structure
|
|
15
|
+
/user/projects/my_project/src/package/module1.py
|
|
16
16
|
|
|
17
|
-
|
|
18
|
-
|
|
17
|
+
and the client has:
|
|
18
|
+
c:\my_project\src\package\module1.py
|
|
19
19
|
|
|
20
|
-
|
|
21
|
-
|
|
20
|
+
the PATHS_FROM_ECLIPSE_TO_PYTHON would have to be:
|
|
21
|
+
PATHS_FROM_ECLIPSE_TO_PYTHON = [(r'c:\my_project\src', r'/user/projects/my_project/src')]
|
|
22
22
|
|
|
23
|
-
|
|
24
|
-
|
|
23
|
+
alternatively, this can be set with an environment variable from the command line:
|
|
24
|
+
set PATHS_FROM_ECLIPSE_TO_PYTHON=[['c:\my_project\src','/user/projects/my_project/src']]
|
|
25
25
|
|
|
26
|
-
|
|
26
|
+
@note: DEBUG_CLIENT_SERVER_TRANSLATION can be set to True to debug the result of those translations
|
|
27
27
|
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
28
|
+
@note: the case of the paths is important! Note that this can be tricky to get right when one machine
|
|
29
|
+
uses a case-independent filesystem and the other uses a case-dependent filesystem (if the system being
|
|
30
|
+
debugged is case-independent, 'normcase()' should be used on the paths defined in PATHS_FROM_ECLIPSE_TO_PYTHON).
|
|
31
31
|
|
|
32
|
-
|
|
32
|
+
@note: all the paths with breakpoints must be translated (otherwise they won't be found in the server)
|
|
33
33
|
|
|
34
|
-
|
|
35
|
-
|
|
34
|
+
@note: to enable remote debugging in the target machine (pydev extensions in the eclipse installation)
|
|
35
|
+
import pydevd;pydevd.settrace(host, stdoutToServer, stderrToServer, port, suspend)
|
|
36
36
|
|
|
37
|
-
|
|
37
|
+
see parameter docs on pydevd.py
|
|
38
38
|
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
39
|
+
@note: for doing a remote debugging session, all the pydevd_ files must be on the server accessible
|
|
40
|
+
through the PYTHONPATH (and the PATHS_FROM_ECLIPSE_TO_PYTHON only needs to be set on the target
|
|
41
|
+
machine for the paths that'll actually have breakpoints).
|
|
42
42
|
"""
|
|
43
43
|
|
|
44
44
|
from _pydev_bundle import pydev_log
|
|
@@ -963,15 +963,3 @@ def get_package_dir(mod_name):
|
|
|
963
963
|
if os.path.isdir(mod_path):
|
|
964
964
|
return mod_path
|
|
965
965
|
return None
|
|
966
|
-
|
|
967
|
-
def contains_dir(path, dir_name):
|
|
968
|
-
try:
|
|
969
|
-
while path:
|
|
970
|
-
path, tail = os.path.split(path)
|
|
971
|
-
if tail == dir_name:
|
|
972
|
-
return True
|
|
973
|
-
if tail is None and path == dir_name:
|
|
974
|
-
return True
|
|
975
|
-
except:
|
|
976
|
-
pass
|
|
977
|
-
return False
|
|
@@ -586,12 +586,13 @@ def _get_original_filename_from_origin_in_parent_frame_locals(frame, parent_fram
|
|
|
586
586
|
return filename
|
|
587
587
|
|
|
588
588
|
|
|
589
|
-
def exception_break(py_db, frame, thread, arg):
|
|
589
|
+
def exception_break(py_db, frame, thread, arg, is_unwind):
|
|
590
590
|
exception, value, trace = arg
|
|
591
591
|
|
|
592
592
|
if py_db.django_exception_break and exception is not None:
|
|
593
593
|
if (
|
|
594
594
|
exception.__name__ in ["VariableDoesNotExist", "TemplateDoesNotExist", "TemplateSyntaxError"]
|
|
595
|
+
and not is_unwind
|
|
595
596
|
and just_raised(trace)
|
|
596
597
|
and not ignore_exception_trace(trace)
|
|
597
598
|
):
|
|
@@ -494,7 +494,7 @@ def suspend(pydb, thread, frame, bp_type):
|
|
|
494
494
|
return None
|
|
495
495
|
|
|
496
496
|
|
|
497
|
-
def exception_break(pydb, frame, thread, arg):
|
|
497
|
+
def exception_break(pydb, frame, thread, arg, is_unwind):
|
|
498
498
|
exception, value, trace = arg
|
|
499
499
|
if pydb.jinja2_exception_break and exception is not None:
|
|
500
500
|
exception_type = list(pydb.jinja2_exception_break.keys())[0]
|
|
@@ -165,7 +165,10 @@ def get_python_helper_lib_filename():
|
|
|
165
165
|
# debugger -- the only situation where it's imported is if the user actually does an attach to
|
|
166
166
|
# process, through `attach_pydevd.py`, but this should usually be called from the IDE directly
|
|
167
167
|
# and not from the debugger).
|
|
168
|
-
libdir = os.path.join(os.path.dirname(__file__), "pydevd_attach_to_process")
|
|
168
|
+
libdir = os.path.join(os.path.dirname(os.path.abspath(__file__)), "pydevd_attach_to_process")
|
|
169
|
+
|
|
170
|
+
if not os.path.exists(libdir):
|
|
171
|
+
pydev_log.critical("Expected the directory: %s to exist!", libdir)
|
|
169
172
|
|
|
170
173
|
arch = ""
|
|
171
174
|
if IS_WINDOWS:
|
|
@@ -8,11 +8,11 @@ import json
|
|
|
8
8
|
|
|
9
9
|
version_json = '''
|
|
10
10
|
{
|
|
11
|
-
"date": "2024-
|
|
11
|
+
"date": "2024-11-18T09:50:34-0800",
|
|
12
12
|
"dirty": false,
|
|
13
13
|
"error": null,
|
|
14
|
-
"full-revisionid": "
|
|
15
|
-
"version": "1.8.
|
|
14
|
+
"full-revisionid": "f4ba976121ce38ee1c7c1f3174fcc520bccc7e19",
|
|
15
|
+
"version": "1.8.9"
|
|
16
16
|
}
|
|
17
17
|
''' # END VERSION_JSON
|
|
18
18
|
|
|
@@ -371,7 +371,7 @@ class Server(components.Component):
|
|
|
371
371
|
session = self.session
|
|
372
372
|
if not session.client or not session.client.is_connected:
|
|
373
373
|
wait_for_connection(
|
|
374
|
-
session, lambda conn: conn.pid == self.pid, timeout=
|
|
374
|
+
session, lambda conn: conn.pid == self.pid, timeout=60
|
|
375
375
|
)
|
|
376
376
|
else:
|
|
377
377
|
self.wait_for(
|
|
@@ -383,7 +383,7 @@ class Server(components.Component):
|
|
|
383
383
|
for conn in session.client.known_subprocesses
|
|
384
384
|
)
|
|
385
385
|
),
|
|
386
|
-
timeout=
|
|
386
|
+
timeout=60,
|
|
387
387
|
)
|
|
388
388
|
with _lock:
|
|
389
389
|
_connections.remove(self.connection)
|
|
@@ -12,7 +12,7 @@ if typing.TYPE_CHECKING:
|
|
|
12
12
|
__all__ = []
|
|
13
13
|
|
|
14
14
|
# The lower time bound for assuming that the process hasn't spawned successfully.
|
|
15
|
-
PROCESS_SPAWN_TIMEOUT = float(os.getenv("DEBUGPY_PROCESS_SPAWN_TIMEOUT",
|
|
15
|
+
PROCESS_SPAWN_TIMEOUT = float(os.getenv("DEBUGPY_PROCESS_SPAWN_TIMEOUT", 60)) or None
|
|
16
16
|
|
|
17
17
|
# The lower time bound for assuming that the process hasn't exited gracefully.
|
|
18
|
-
PROCESS_EXIT_TIMEOUT = float(os.getenv("DEBUGPY_PROCESS_EXIT_TIMEOUT",
|
|
18
|
+
PROCESS_EXIT_TIMEOUT = float(os.getenv("DEBUGPY_PROCESS_EXIT_TIMEOUT", 30)) or None
|
|
@@ -58,7 +58,8 @@ def spawn(process_name, cmdline, env, redirect_output):
|
|
|
58
58
|
else:
|
|
59
59
|
kwargs = {}
|
|
60
60
|
|
|
61
|
-
if sys.platform != "win32":
|
|
61
|
+
if sys.platform != "win32" and sys.implementation.name != 'graalpy':
|
|
62
|
+
# GraalPy does not support running code between fork and exec
|
|
62
63
|
|
|
63
64
|
def preexec_fn():
|
|
64
65
|
try:
|
|
@@ -168,7 +168,7 @@ def listen(address, settrace_kwargs, in_process_debug_adapter=False):
|
|
|
168
168
|
server_access_token = codecs.encode(os.urandom(32), "hex").decode("ascii")
|
|
169
169
|
|
|
170
170
|
try:
|
|
171
|
-
endpoints_listener = sockets.create_server("127.0.0.1", 0, timeout=
|
|
171
|
+
endpoints_listener = sockets.create_server("127.0.0.1", 0, timeout=30)
|
|
172
172
|
except Exception as exc:
|
|
173
173
|
log.swallow_exception("Can't listen for adapter endpoints:")
|
|
174
174
|
raise RuntimeError("can't listen for adapter endpoints: " + str(exc))
|
|
@@ -154,6 +154,14 @@ src/debugpy/_vendored/pydevd/_pydevd_frame_eval/vendored/bytecode/concrete.py
|
|
|
154
154
|
src/debugpy/_vendored/pydevd/_pydevd_frame_eval/vendored/bytecode/flags.py
|
|
155
155
|
src/debugpy/_vendored/pydevd/_pydevd_frame_eval/vendored/bytecode/instr.py
|
|
156
156
|
src/debugpy/_vendored/pydevd/_pydevd_frame_eval/vendored/bytecode/peephole_opt.py
|
|
157
|
+
src/debugpy/_vendored/pydevd/_pydevd_frame_eval/vendored/bytecode-0.13.0.dev0.dist-info/COPYING
|
|
158
|
+
src/debugpy/_vendored/pydevd/_pydevd_frame_eval/vendored/bytecode-0.13.0.dev0.dist-info/INSTALLER
|
|
159
|
+
src/debugpy/_vendored/pydevd/_pydevd_frame_eval/vendored/bytecode-0.13.0.dev0.dist-info/METADATA
|
|
160
|
+
src/debugpy/_vendored/pydevd/_pydevd_frame_eval/vendored/bytecode-0.13.0.dev0.dist-info/RECORD
|
|
161
|
+
src/debugpy/_vendored/pydevd/_pydevd_frame_eval/vendored/bytecode-0.13.0.dev0.dist-info/REQUESTED
|
|
162
|
+
src/debugpy/_vendored/pydevd/_pydevd_frame_eval/vendored/bytecode-0.13.0.dev0.dist-info/WHEEL
|
|
163
|
+
src/debugpy/_vendored/pydevd/_pydevd_frame_eval/vendored/bytecode-0.13.0.dev0.dist-info/direct_url.json
|
|
164
|
+
src/debugpy/_vendored/pydevd/_pydevd_frame_eval/vendored/bytecode-0.13.0.dev0.dist-info/top_level.txt
|
|
157
165
|
src/debugpy/_vendored/pydevd/_pydevd_frame_eval/vendored/bytecode/tests/__init__.py
|
|
158
166
|
src/debugpy/_vendored/pydevd/_pydevd_frame_eval/vendored/bytecode/tests/test_bytecode.py
|
|
159
167
|
src/debugpy/_vendored/pydevd/_pydevd_frame_eval/vendored/bytecode/tests/test_cfg.py
|
|
@@ -1,36 +0,0 @@
|
|
|
1
|
-
# encoding: utf-8
|
|
2
|
-
"""
|
|
3
|
-
Utilities for version comparison
|
|
4
|
-
|
|
5
|
-
It is a bit ridiculous that we need these.
|
|
6
|
-
"""
|
|
7
|
-
|
|
8
|
-
# -----------------------------------------------------------------------------
|
|
9
|
-
# Copyright (C) 2013 The IPython Development Team
|
|
10
|
-
#
|
|
11
|
-
# Distributed under the terms of the BSD License. The full license is in
|
|
12
|
-
# the file COPYING, distributed as part of this software.
|
|
13
|
-
# -----------------------------------------------------------------------------
|
|
14
|
-
|
|
15
|
-
# -----------------------------------------------------------------------------
|
|
16
|
-
# Imports
|
|
17
|
-
# -----------------------------------------------------------------------------
|
|
18
|
-
|
|
19
|
-
from distutils.version import LooseVersion
|
|
20
|
-
|
|
21
|
-
# -----------------------------------------------------------------------------
|
|
22
|
-
# Code
|
|
23
|
-
# -----------------------------------------------------------------------------
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
def check_version(v, check):
|
|
27
|
-
"""check version string v >= check
|
|
28
|
-
|
|
29
|
-
If dev/prerelease tags result in TypeError for string-number comparison,
|
|
30
|
-
it is assumed that the dependency is satisfied.
|
|
31
|
-
Users on dev branches are responsible for keeping their own packages up to date.
|
|
32
|
-
"""
|
|
33
|
-
try:
|
|
34
|
-
return LooseVersion(v) >= LooseVersion(check)
|
|
35
|
-
except TypeError:
|
|
36
|
-
return True
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
File without changes
|