debugpy 1.8.5__zip → 1.8.7__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.7}/PKG-INFO +1 -1
- {debugpy-1.8.5 → debugpy-1.8.7}/src/debugpy/_vendored/pydevd/_pydev_bundle/_pydev_calltip_util.py +19 -21
- {debugpy-1.8.5 → debugpy-1.8.7}/src/debugpy/_vendored/pydevd/_pydev_bundle/_pydev_completer.py +30 -30
- {debugpy-1.8.5 → debugpy-1.8.7}/src/debugpy/_vendored/pydevd/_pydev_bundle/_pydev_execfile.py +3 -1
- debugpy-1.8.7/src/debugpy/_vendored/pydevd/_pydev_bundle/_pydev_filesystem_encoding.py +43 -0
- {debugpy-1.8.5 → debugpy-1.8.7}/src/debugpy/_vendored/pydevd/_pydev_bundle/_pydev_getopt.py +35 -32
- {debugpy-1.8.5 → debugpy-1.8.7}/src/debugpy/_vendored/pydevd/_pydev_bundle/_pydev_imports_tipper.py +83 -84
- {debugpy-1.8.5 → debugpy-1.8.7}/src/debugpy/_vendored/pydevd/_pydev_bundle/_pydev_jy_imports_tipper.py +92 -99
- {debugpy-1.8.5 → debugpy-1.8.7}/src/debugpy/_vendored/pydevd/_pydev_bundle/_pydev_log.py +2 -3
- {debugpy-1.8.5 → debugpy-1.8.7}/src/debugpy/_vendored/pydevd/_pydev_bundle/_pydev_saved_modules.py +51 -27
- {debugpy-1.8.5 → debugpy-1.8.7}/src/debugpy/_vendored/pydevd/_pydev_bundle/_pydev_sys_patch.py +11 -7
- {debugpy-1.8.5 → debugpy-1.8.7}/src/debugpy/_vendored/pydevd/_pydev_bundle/_pydev_tipper_common.py +6 -5
- {debugpy-1.8.5 → debugpy-1.8.7}/src/debugpy/_vendored/pydevd/_pydev_bundle/fsnotify/__init__.py +34 -38
- {debugpy-1.8.5 → debugpy-1.8.7}/src/debugpy/_vendored/pydevd/_pydev_bundle/pydev_console_utils.py +71 -69
- {debugpy-1.8.5 → debugpy-1.8.7}/src/debugpy/_vendored/pydevd/_pydev_bundle/pydev_import_hook.py +1 -3
- {debugpy-1.8.5 → debugpy-1.8.7}/src/debugpy/_vendored/pydevd/_pydev_bundle/pydev_imports.py +0 -1
- {debugpy-1.8.5 → debugpy-1.8.7}/src/debugpy/_vendored/pydevd/_pydev_bundle/pydev_ipython_console.py +14 -16
- {debugpy-1.8.5 → debugpy-1.8.7}/src/debugpy/_vendored/pydevd/_pydev_bundle/pydev_ipython_console_011.py +81 -93
- {debugpy-1.8.5 → debugpy-1.8.7}/src/debugpy/_vendored/pydevd/_pydev_bundle/pydev_is_thread_alive.py +3 -3
- {debugpy-1.8.5 → debugpy-1.8.7}/src/debugpy/_vendored/pydevd/_pydev_bundle/pydev_localhost.py +9 -8
- {debugpy-1.8.5 → debugpy-1.8.7}/src/debugpy/_vendored/pydevd/_pydev_bundle/pydev_log.py +33 -25
- {debugpy-1.8.5 → debugpy-1.8.7}/src/debugpy/_vendored/pydevd/_pydev_bundle/pydev_monkey.py +183 -170
- {debugpy-1.8.5 → debugpy-1.8.7}/src/debugpy/_vendored/pydevd/_pydev_bundle/pydev_monkey_qt.py +33 -29
- {debugpy-1.8.5 → debugpy-1.8.7}/src/debugpy/_vendored/pydevd/_pydev_bundle/pydev_override.py +6 -4
- {debugpy-1.8.5 → debugpy-1.8.7}/src/debugpy/_vendored/pydevd/_pydev_bundle/pydev_umd.py +19 -18
- {debugpy-1.8.5 → debugpy-1.8.7}/src/debugpy/_vendored/pydevd/_pydev_bundle/pydev_versioncheck.py +3 -3
- {debugpy-1.8.5 → debugpy-1.8.7}/src/debugpy/_vendored/pydevd/_pydev_runfiles/pydev_runfiles.py +165 -138
- debugpy-1.8.7/src/debugpy/_vendored/pydevd/_pydev_runfiles/pydev_runfiles_coverage.py +77 -0
- {debugpy-1.8.5 → debugpy-1.8.7}/src/debugpy/_vendored/pydevd/_pydev_runfiles/pydev_runfiles_nose.py +35 -36
- {debugpy-1.8.5 → debugpy-1.8.7}/src/debugpy/_vendored/pydevd/_pydev_runfiles/pydev_runfiles_parallel.py +22 -23
- {debugpy-1.8.5 → debugpy-1.8.7}/src/debugpy/_vendored/pydevd/_pydev_runfiles/pydev_runfiles_parallel_client.py +37 -57
- {debugpy-1.8.5 → debugpy-1.8.7}/src/debugpy/_vendored/pydevd/_pydev_runfiles/pydev_runfiles_pytest2.py +54 -52
- {debugpy-1.8.5 → debugpy-1.8.7}/src/debugpy/_vendored/pydevd/_pydev_runfiles/pydev_runfiles_unittest.py +28 -37
- {debugpy-1.8.5 → debugpy-1.8.7}/src/debugpy/_vendored/pydevd/_pydev_runfiles/pydev_runfiles_xml_rpc.py +56 -53
- debugpy-1.8.7/src/debugpy/_vendored/pydevd/_pydevd_bundle/_debug_adapter/__main__pydevd_gen_debug_adapter_protocol.py +604 -0
- {debugpy-1.8.5 → debugpy-1.8.7}/src/debugpy/_vendored/pydevd/_pydevd_bundle/_debug_adapter/debugProtocol.json +551 -445
- {debugpy-1.8.5 → debugpy-1.8.7}/src/debugpy/_vendored/pydevd/_pydevd_bundle/_debug_adapter/pydevd_base_schema.py +25 -29
- debugpy-1.8.7/src/debugpy/_vendored/pydevd/_pydevd_bundle/_debug_adapter/pydevd_schema.py +17458 -0
- {debugpy-1.8.5 → debugpy-1.8.7}/src/debugpy/_vendored/pydevd/_pydevd_bundle/_debug_adapter/pydevd_schema_log.py +11 -12
- {debugpy-1.8.5 → debugpy-1.8.7}/src/debugpy/_vendored/pydevd/_pydevd_bundle/pydevconsole_code.py +18 -19
- debugpy-1.8.7/src/debugpy/_vendored/pydevd/_pydevd_bundle/pydevd_additional_thread_info.py +41 -0
- debugpy-1.8.7/src/debugpy/_vendored/pydevd/_pydevd_bundle/pydevd_additional_thread_info_regular.py +328 -0
- {debugpy-1.8.5 → debugpy-1.8.7}/src/debugpy/_vendored/pydevd/_pydevd_bundle/pydevd_api.py +263 -214
- {debugpy-1.8.5 → debugpy-1.8.7}/src/debugpy/_vendored/pydevd/_pydevd_bundle/pydevd_breakpoints.py +7 -10
- {debugpy-1.8.5 → debugpy-1.8.7}/src/debugpy/_vendored/pydevd/_pydevd_bundle/pydevd_bytecode_utils.py +187 -92
- debugpy-1.8.7/src/debugpy/_vendored/pydevd/_pydevd_bundle/pydevd_bytecode_utils_py311.py +105 -0
- {debugpy-1.8.5 → debugpy-1.8.7}/src/debugpy/_vendored/pydevd/_pydevd_bundle/pydevd_code_to_source.py +46 -51
- {debugpy-1.8.5 → debugpy-1.8.7}/src/debugpy/_vendored/pydevd/_pydevd_bundle/pydevd_collect_bytecode_info.py +239 -176
- {debugpy-1.8.5 → debugpy-1.8.7}/src/debugpy/_vendored/pydevd/_pydevd_bundle/pydevd_comm.py +370 -297
- {debugpy-1.8.5 → debugpy-1.8.7}/src/debugpy/_vendored/pydevd/_pydevd_bundle/pydevd_comm_constants.py +78 -86
- {debugpy-1.8.5 → debugpy-1.8.7}/src/debugpy/_vendored/pydevd/_pydevd_bundle/pydevd_command_line_handling.py +55 -59
- {debugpy-1.8.5 → debugpy-1.8.7}/src/debugpy/_vendored/pydevd/_pydevd_bundle/pydevd_concurrency_analyser/pydevd_concurrency_logger.py +194 -58
- {debugpy-1.8.5 → debugpy-1.8.7}/src/debugpy/_vendored/pydevd/_pydevd_bundle/pydevd_concurrency_analyser/pydevd_thread_wrappers.py +2 -3
- {debugpy-1.8.5 → debugpy-1.8.7}/src/debugpy/_vendored/pydevd/_pydevd_bundle/pydevd_console.py +18 -23
- {debugpy-1.8.5 → debugpy-1.8.7}/src/debugpy/_vendored/pydevd/_pydevd_bundle/pydevd_constants.py +159 -127
- {debugpy-1.8.5 → debugpy-1.8.7}/src/debugpy/_vendored/pydevd/_pydevd_bundle/pydevd_custom_frames.py +10 -12
- debugpy-1.8.7/src/debugpy/_vendored/pydevd/_pydevd_bundle/pydevd_cython.c +55527 -0
- {debugpy-1.8.5 → debugpy-1.8.7}/src/debugpy/_vendored/pydevd/_pydevd_bundle/pydevd_cython.pxd +15 -0
- {debugpy-1.8.5 → debugpy-1.8.7}/src/debugpy/_vendored/pydevd/_pydevd_bundle/pydevd_cython.pyx +803 -511
- {debugpy-1.8.5 → debugpy-1.8.7}/src/debugpy/_vendored/pydevd/_pydevd_bundle/pydevd_cython_wrapper.py +18 -7
- {debugpy-1.8.5 → debugpy-1.8.7}/src/debugpy/_vendored/pydevd/_pydevd_bundle/pydevd_daemon_thread.py +32 -24
- {debugpy-1.8.5 → debugpy-1.8.7}/src/debugpy/_vendored/pydevd/_pydevd_bundle/pydevd_defaults.py +11 -13
- {debugpy-1.8.5 → debugpy-1.8.7}/src/debugpy/_vendored/pydevd/_pydevd_bundle/pydevd_dont_trace.py +16 -16
- {debugpy-1.8.5 → debugpy-1.8.7}/src/debugpy/_vendored/pydevd/_pydevd_bundle/pydevd_dont_trace_files.py +27 -2
- {debugpy-1.8.5 → debugpy-1.8.7}/src/debugpy/_vendored/pydevd/_pydevd_bundle/pydevd_exec2.py +1 -1
- {debugpy-1.8.5 → debugpy-1.8.7}/src/debugpy/_vendored/pydevd/_pydevd_bundle/pydevd_extension_api.py +4 -5
- {debugpy-1.8.5 → debugpy-1.8.7}/src/debugpy/_vendored/pydevd/_pydevd_bundle/pydevd_extension_utils.py +8 -10
- {debugpy-1.8.5 → debugpy-1.8.7}/src/debugpy/_vendored/pydevd/_pydevd_bundle/pydevd_filtering.py +50 -45
- {debugpy-1.8.5 → debugpy-1.8.7}/src/debugpy/_vendored/pydevd/_pydevd_bundle/pydevd_frame.py +462 -407
- {debugpy-1.8.5 → debugpy-1.8.7}/src/debugpy/_vendored/pydevd/_pydevd_bundle/pydevd_frame_utils.py +69 -61
- {debugpy-1.8.5 → debugpy-1.8.7}/src/debugpy/_vendored/pydevd/_pydevd_bundle/pydevd_gevent_integration.py +14 -16
- {debugpy-1.8.5 → debugpy-1.8.7}/src/debugpy/_vendored/pydevd/_pydevd_bundle/pydevd_import_class.py +27 -25
- {debugpy-1.8.5 → debugpy-1.8.7}/src/debugpy/_vendored/pydevd/_pydevd_bundle/pydevd_io.py +40 -42
- debugpy-1.8.7/src/debugpy/_vendored/pydevd/_pydevd_bundle/pydevd_json_debug_options.py +200 -0
- {debugpy-1.8.5 → debugpy-1.8.7}/src/debugpy/_vendored/pydevd/_pydevd_bundle/pydevd_net_command.py +20 -19
- {debugpy-1.8.5 → debugpy-1.8.7}/src/debugpy/_vendored/pydevd/_pydevd_bundle/pydevd_net_command_factory_json.py +199 -108
- {debugpy-1.8.5 → debugpy-1.8.7}/src/debugpy/_vendored/pydevd/_pydevd_bundle/pydevd_net_command_factory_xml.py +121 -73
- debugpy-1.8.7/src/debugpy/_vendored/pydevd/_pydevd_bundle/pydevd_plugin_utils.py +208 -0
- {debugpy-1.8.5 → debugpy-1.8.7}/src/debugpy/_vendored/pydevd/_pydevd_bundle/pydevd_process_net_command.py +206 -159
- {debugpy-1.8.5 → debugpy-1.8.7}/src/debugpy/_vendored/pydevd/_pydevd_bundle/pydevd_process_net_command_json.py +346 -334
- {debugpy-1.8.5 → debugpy-1.8.7}/src/debugpy/_vendored/pydevd/_pydevd_bundle/pydevd_referrers.py +75 -80
- {debugpy-1.8.5 → debugpy-1.8.7}/src/debugpy/_vendored/pydevd/_pydevd_bundle/pydevd_reload.py +35 -35
- {debugpy-1.8.5 → debugpy-1.8.7}/src/debugpy/_vendored/pydevd/_pydevd_bundle/pydevd_resolver.py +116 -124
- {debugpy-1.8.5 → debugpy-1.8.7}/src/debugpy/_vendored/pydevd/_pydevd_bundle/pydevd_runpy.py +44 -58
- {debugpy-1.8.5 → debugpy-1.8.7}/src/debugpy/_vendored/pydevd/_pydevd_bundle/pydevd_safe_repr.py +51 -55
- {debugpy-1.8.5 → debugpy-1.8.7}/src/debugpy/_vendored/pydevd/_pydevd_bundle/pydevd_save_locals.py +4 -2
- {debugpy-1.8.5 → debugpy-1.8.7}/src/debugpy/_vendored/pydevd/_pydevd_bundle/pydevd_signature.py +24 -24
- {debugpy-1.8.5 → debugpy-1.8.7}/src/debugpy/_vendored/pydevd/_pydevd_bundle/pydevd_source_mapping.py +19 -20
- {debugpy-1.8.5 → debugpy-1.8.7}/src/debugpy/_vendored/pydevd/_pydevd_bundle/pydevd_stackless.py +45 -49
- {debugpy-1.8.5 → debugpy-1.8.7}/src/debugpy/_vendored/pydevd/_pydevd_bundle/pydevd_suspended_frames.py +61 -58
- {debugpy-1.8.5 → debugpy-1.8.7}/src/debugpy/_vendored/pydevd/_pydevd_bundle/pydevd_thread_lifecycle.py +23 -13
- {debugpy-1.8.5 → debugpy-1.8.7}/src/debugpy/_vendored/pydevd/_pydevd_bundle/pydevd_timeout.py +29 -31
- {debugpy-1.8.5 → debugpy-1.8.7}/src/debugpy/_vendored/pydevd/_pydevd_bundle/pydevd_trace_dispatch.py +41 -11
- {debugpy-1.8.5 → debugpy-1.8.7}/src/debugpy/_vendored/pydevd/_pydevd_bundle/pydevd_trace_dispatch_regular.py +117 -55
- {debugpy-1.8.5 → debugpy-1.8.7}/src/debugpy/_vendored/pydevd/_pydevd_bundle/pydevd_traceproperty.py +11 -14
- {debugpy-1.8.5 → debugpy-1.8.7}/src/debugpy/_vendored/pydevd/_pydevd_bundle/pydevd_utils.py +90 -89
- {debugpy-1.8.5 → debugpy-1.8.7}/src/debugpy/_vendored/pydevd/_pydevd_bundle/pydevd_vars.py +106 -97
- debugpy-1.8.7/src/debugpy/_vendored/pydevd/_pydevd_bundle/pydevd_vm_type.py +40 -0
- {debugpy-1.8.5 → debugpy-1.8.7}/src/debugpy/_vendored/pydevd/_pydevd_bundle/pydevd_xml.py +56 -46
- {debugpy-1.8.5 → debugpy-1.8.7}/src/debugpy/_vendored/pydevd/_pydevd_frame_eval/pydevd_frame_eval_cython_wrapper.py +5 -5
- debugpy-1.8.7/src/debugpy/_vendored/pydevd/_pydevd_frame_eval/pydevd_frame_eval_main.py +71 -0
- {debugpy-1.8.5 → debugpy-1.8.7}/src/debugpy/_vendored/pydevd/_pydevd_frame_eval/pydevd_frame_evaluator.c +11165 -5326
- {debugpy-1.8.5 → debugpy-1.8.7}/src/debugpy/_vendored/pydevd/_pydevd_frame_eval/pydevd_frame_tracing.py +5 -6
- {debugpy-1.8.5 → debugpy-1.8.7}/src/debugpy/_vendored/pydevd/_pydevd_frame_eval/pydevd_modify_bytecode.py +53 -56
- {debugpy-1.8.5 → debugpy-1.8.7}/src/debugpy/_vendored/pydevd/_pydevd_frame_eval/vendored/bytecode/__init__.py +1 -0
- {debugpy-1.8.5 → debugpy-1.8.7}/src/debugpy/_vendored/pydevd/_pydevd_frame_eval/vendored/bytecode/bytecode.py +4 -6
- {debugpy-1.8.5 → debugpy-1.8.7}/src/debugpy/_vendored/pydevd/_pydevd_frame_eval/vendored/bytecode/cfg.py +6 -26
- {debugpy-1.8.5 → debugpy-1.8.7}/src/debugpy/_vendored/pydevd/_pydevd_frame_eval/vendored/bytecode/concrete.py +7 -21
- {debugpy-1.8.5 → debugpy-1.8.7}/src/debugpy/_vendored/pydevd/_pydevd_frame_eval/vendored/bytecode/flags.py +5 -24
- {debugpy-1.8.5 → debugpy-1.8.7}/src/debugpy/_vendored/pydevd/_pydevd_frame_eval/vendored/bytecode/instr.py +10 -34
- {debugpy-1.8.5 → debugpy-1.8.7}/src/debugpy/_vendored/pydevd/_pydevd_frame_eval/vendored/bytecode/peephole_opt.py +1 -4
- {debugpy-1.8.5 → debugpy-1.8.7}/src/debugpy/_vendored/pydevd/_pydevd_frame_eval/vendored/bytecode/tests/__init__.py +2 -6
- {debugpy-1.8.5 → debugpy-1.8.7}/src/debugpy/_vendored/pydevd/_pydevd_frame_eval/vendored/bytecode/tests/test_bytecode.py +3 -5
- {debugpy-1.8.5 → debugpy-1.8.7}/src/debugpy/_vendored/pydevd/_pydevd_frame_eval/vendored/bytecode/tests/test_cfg.py +11 -31
- {debugpy-1.8.5 → debugpy-1.8.7}/src/debugpy/_vendored/pydevd/_pydevd_frame_eval/vendored/bytecode/tests/test_code.py +2 -2
- {debugpy-1.8.5 → debugpy-1.8.7}/src/debugpy/_vendored/pydevd/_pydevd_frame_eval/vendored/bytecode/tests/test_concrete.py +14 -41
- {debugpy-1.8.5 → debugpy-1.8.7}/src/debugpy/_vendored/pydevd/_pydevd_frame_eval/vendored/bytecode/tests/test_flags.py +2 -4
- {debugpy-1.8.5 → debugpy-1.8.7}/src/debugpy/_vendored/pydevd/_pydevd_frame_eval/vendored/bytecode/tests/test_instr.py +7 -18
- {debugpy-1.8.5 → debugpy-1.8.7}/src/debugpy/_vendored/pydevd/_pydevd_frame_eval/vendored/bytecode/tests/test_misc.py +6 -18
- {debugpy-1.8.5 → debugpy-1.8.7}/src/debugpy/_vendored/pydevd/_pydevd_frame_eval/vendored/bytecode/tests/test_peephole_opt.py +7 -18
- {debugpy-1.8.5 → debugpy-1.8.7}/src/debugpy/_vendored/pydevd/_pydevd_frame_eval/vendored/bytecode/tests/util_annotation.py +1 -3
- {debugpy-1.8.5 → debugpy-1.8.7}/src/debugpy/_vendored/pydevd/_pydevd_frame_eval/vendored/pydevd_fix_code.py +14 -19
- debugpy-1.8.7/src/debugpy/_vendored/pydevd/_pydevd_sys_monitoring/_pydevd_sys_monitoring.py +1929 -0
- debugpy-1.8.7/src/debugpy/_vendored/pydevd/_pydevd_sys_monitoring/_pydevd_sys_monitoring_cython.c +43253 -0
- debugpy-1.8.7/src/debugpy/_vendored/pydevd/_pydevd_sys_monitoring/_pydevd_sys_monitoring_cython.pxd +46 -0
- debugpy-1.8.7/src/debugpy/_vendored/pydevd/_pydevd_sys_monitoring/_pydevd_sys_monitoring_cython.pyx +1935 -0
- debugpy-1.8.7/src/debugpy/_vendored/pydevd/_pydevd_sys_monitoring/pydevd_sys_monitoring.py +16 -0
- {debugpy-1.8.5 → debugpy-1.8.7}/src/debugpy/_vendored/pydevd/pydev_app_engine_debug_startup.py +12 -11
- {debugpy-1.8.5 → debugpy-1.8.7}/src/debugpy/_vendored/pydevd/pydev_coverage.py +30 -32
- {debugpy-1.8.5 → debugpy-1.8.7}/src/debugpy/_vendored/pydevd/pydev_ipython/inputhook.py +58 -54
- {debugpy-1.8.5 → debugpy-1.8.7}/src/debugpy/_vendored/pydevd/pydev_ipython/inputhookglut.py +20 -24
- {debugpy-1.8.5 → debugpy-1.8.7}/src/debugpy/_vendored/pydevd/pydev_ipython/inputhookgtk.py +8 -7
- {debugpy-1.8.5 → debugpy-1.8.7}/src/debugpy/_vendored/pydevd/pydev_ipython/inputhookgtk3.py +8 -6
- {debugpy-1.8.5 → debugpy-1.8.7}/src/debugpy/_vendored/pydevd/pydev_ipython/inputhookpyglet.py +11 -8
- {debugpy-1.8.5 → debugpy-1.8.7}/src/debugpy/_vendored/pydevd/pydev_ipython/inputhookqt4.py +21 -18
- {debugpy-1.8.5 → debugpy-1.8.7}/src/debugpy/_vendored/pydevd/pydev_ipython/inputhookqt5.py +17 -15
- {debugpy-1.8.5 → debugpy-1.8.7}/src/debugpy/_vendored/pydevd/pydev_ipython/inputhookqt6.py +17 -15
- {debugpy-1.8.5 → debugpy-1.8.7}/src/debugpy/_vendored/pydevd/pydev_ipython/inputhooktk.py +6 -4
- {debugpy-1.8.5 → debugpy-1.8.7}/src/debugpy/_vendored/pydevd/pydev_ipython/inputhookwx.py +14 -10
- {debugpy-1.8.5 → debugpy-1.8.7}/src/debugpy/_vendored/pydevd/pydev_ipython/matplotlibtools.py +30 -26
- debugpy-1.8.7/src/debugpy/_vendored/pydevd/pydev_ipython/qt.py +24 -0
- {debugpy-1.8.5 → debugpy-1.8.7}/src/debugpy/_vendored/pydevd/pydev_ipython/qt_for_kernel.py +37 -34
- {debugpy-1.8.5 → debugpy-1.8.7}/src/debugpy/_vendored/pydevd/pydev_ipython/qt_loaders.py +86 -73
- {debugpy-1.8.5 → debugpy-1.8.7}/src/debugpy/_vendored/pydevd/pydev_ipython/version.py +7 -7
- debugpy-1.8.7/src/debugpy/_vendored/pydevd/pydev_pysrc.py +1 -0
- {debugpy-1.8.5 → debugpy-1.8.7}/src/debugpy/_vendored/pydevd/pydev_run_in_console.py +23 -24
- debugpy-1.8.7/src/debugpy/_vendored/pydevd/pydev_sitecustomize/sitecustomize.py +267 -0
- {debugpy-1.8.5 → debugpy-1.8.7}/src/debugpy/_vendored/pydevd/pydevconsole.py +55 -47
- {debugpy-1.8.5 → debugpy-1.8.7}/src/debugpy/_vendored/pydevd/pydevd.py +732 -508
- debugpy-1.8.7/src/debugpy/_vendored/pydevd/pydevd_attach_to_process/_always_live_program.py +40 -0
- {debugpy-1.8.5 → debugpy-1.8.7}/src/debugpy/_vendored/pydevd/pydevd_attach_to_process/_check.py +1 -0
- debugpy-1.8.7/src/debugpy/_vendored/pydevd/pydevd_attach_to_process/_test_attach_to_process.py +11 -0
- debugpy-1.8.7/src/debugpy/_vendored/pydevd/pydevd_attach_to_process/_test_attach_to_process_linux.py +75 -0
- {debugpy-1.8.5 → debugpy-1.8.7}/src/debugpy/_vendored/pydevd/pydevd_attach_to_process/add_code_to_python_process.py +130 -125
- 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_pydevd.py +89 -0
- {debugpy-1.8.5 → debugpy-1.8.7}/src/debugpy/_vendored/pydevd/pydevd_attach_to_process/attach_script.py +41 -32
- 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.5 → debugpy-1.8.7}/src/debugpy/_vendored/pydevd/pydevd_attach_to_process/common/py_utils.hpp +1 -0
- {debugpy-1.8.5 → debugpy-1.8.7}/src/debugpy/_vendored/pydevd/pydevd_attach_to_process/common/py_version.hpp +9 -1
- debugpy-1.8.7/src/debugpy/_vendored/pydevd/pydevd_attach_to_process/inject_dll_amd64.exe +0 -0
- debugpy-1.8.7/src/debugpy/_vendored/pydevd/pydevd_attach_to_process/inject_dll_amd64.pdb +0 -0
- {debugpy-1.8.5 → debugpy-1.8.7}/src/debugpy/_vendored/pydevd/pydevd_attach_to_process/inject_dll_x86.exe +0 -0
- debugpy-1.8.7/src/debugpy/_vendored/pydevd/pydevd_attach_to_process/inject_dll_x86.pdb +0 -0
- {debugpy-1.8.5 → debugpy-1.8.7}/src/debugpy/_vendored/pydevd/pydevd_attach_to_process/linux_and_mac/lldb_prepare.py +10 -9
- debugpy-1.8.7/src/debugpy/_vendored/pydevd/pydevd_attach_to_process/run_code_on_dllmain_amd64.dll +0 -0
- debugpy-1.8.7/src/debugpy/_vendored/pydevd/pydevd_attach_to_process/run_code_on_dllmain_amd64.pdb +0 -0
- debugpy-1.8.7/src/debugpy/_vendored/pydevd/pydevd_attach_to_process/run_code_on_dllmain_x86.dll +0 -0
- debugpy-1.8.7/src/debugpy/_vendored/pydevd/pydevd_attach_to_process/run_code_on_dllmain_x86.pdb +0 -0
- {debugpy-1.8.5 → debugpy-1.8.7}/src/debugpy/_vendored/pydevd/pydevd_attach_to_process/winappdbg/__init__.py +103 -119
- {debugpy-1.8.5 → debugpy-1.8.7}/src/debugpy/_vendored/pydevd/pydevd_attach_to_process/winappdbg/breakpoint.py +457 -516
- {debugpy-1.8.5 → debugpy-1.8.7}/src/debugpy/_vendored/pydevd/pydevd_attach_to_process/winappdbg/compat.py +33 -15
- {debugpy-1.8.5 → debugpy-1.8.7}/src/debugpy/_vendored/pydevd/pydevd_attach_to_process/winappdbg/crash.py +336 -281
- {debugpy-1.8.5 → debugpy-1.8.7}/src/debugpy/_vendored/pydevd/pydevd_attach_to_process/winappdbg/debug.py +101 -131
- {debugpy-1.8.5 → debugpy-1.8.7}/src/debugpy/_vendored/pydevd/pydevd_attach_to_process/winappdbg/disasm.py +148 -153
- {debugpy-1.8.5 → debugpy-1.8.7}/src/debugpy/_vendored/pydevd/pydevd_attach_to_process/winappdbg/event.py +310 -302
- {debugpy-1.8.5 → debugpy-1.8.7}/src/debugpy/_vendored/pydevd/pydevd_attach_to_process/winappdbg/interactive.py +235 -208
- {debugpy-1.8.5 → debugpy-1.8.7}/src/debugpy/_vendored/pydevd/pydevd_attach_to_process/winappdbg/module.py +185 -218
- {debugpy-1.8.5 → debugpy-1.8.7}/src/debugpy/_vendored/pydevd/pydevd_attach_to_process/winappdbg/process.py +428 -564
- {debugpy-1.8.5 → debugpy-1.8.7}/src/debugpy/_vendored/pydevd/pydevd_attach_to_process/winappdbg/registry.py +54 -53
- {debugpy-1.8.5 → debugpy-1.8.7}/src/debugpy/_vendored/pydevd/pydevd_attach_to_process/winappdbg/search.py +69 -73
- {debugpy-1.8.5 → debugpy-1.8.7}/src/debugpy/_vendored/pydevd/pydevd_attach_to_process/winappdbg/sql.py +158 -170
- {debugpy-1.8.5 → debugpy-1.8.7}/src/debugpy/_vendored/pydevd/pydevd_attach_to_process/winappdbg/system.py +143 -213
- {debugpy-1.8.5 → debugpy-1.8.7}/src/debugpy/_vendored/pydevd/pydevd_attach_to_process/winappdbg/textio.py +302 -333
- {debugpy-1.8.5 → debugpy-1.8.7}/src/debugpy/_vendored/pydevd/pydevd_attach_to_process/winappdbg/thread.py +220 -239
- {debugpy-1.8.5 → debugpy-1.8.7}/src/debugpy/_vendored/pydevd/pydevd_attach_to_process/winappdbg/util.py +198 -177
- {debugpy-1.8.5 → debugpy-1.8.7}/src/debugpy/_vendored/pydevd/pydevd_attach_to_process/winappdbg/win32/__init__.py +11 -11
- {debugpy-1.8.5 → debugpy-1.8.7}/src/debugpy/_vendored/pydevd/pydevd_attach_to_process/winappdbg/win32/advapi32.py +1191 -713
- {debugpy-1.8.5 → debugpy-1.8.7}/src/debugpy/_vendored/pydevd/pydevd_attach_to_process/winappdbg/win32/context_amd64.py +248 -194
- {debugpy-1.8.5 → debugpy-1.8.7}/src/debugpy/_vendored/pydevd/pydevd_attach_to_process/winappdbg/win32/context_i386.py +132 -120
- {debugpy-1.8.5 → debugpy-1.8.7}/src/debugpy/_vendored/pydevd/pydevd_attach_to_process/winappdbg/win32/dbghelp.py +450 -346
- {debugpy-1.8.5 → debugpy-1.8.7}/src/debugpy/_vendored/pydevd/pydevd_attach_to_process/winappdbg/win32/defines.py +305 -286
- debugpy-1.8.7/src/debugpy/_vendored/pydevd/pydevd_attach_to_process/winappdbg/win32/gdi32.py +526 -0
- {debugpy-1.8.5 → debugpy-1.8.7}/src/debugpy/_vendored/pydevd/pydevd_attach_to_process/winappdbg/win32/kernel32.py +1479 -1097
- debugpy-1.8.7/src/debugpy/_vendored/pydevd/pydevd_attach_to_process/winappdbg/win32/ntdll.py +579 -0
- debugpy-1.8.7/src/debugpy/_vendored/pydevd/pydevd_attach_to_process/winappdbg/win32/peb_teb.py +3517 -0
- {debugpy-1.8.5 → debugpy-1.8.7}/src/debugpy/_vendored/pydevd/pydevd_attach_to_process/winappdbg/win32/psapi.py +54 -31
- {debugpy-1.8.5 → debugpy-1.8.7}/src/debugpy/_vendored/pydevd/pydevd_attach_to_process/winappdbg/win32/shell32.py +170 -149
- {debugpy-1.8.5 → debugpy-1.8.7}/src/debugpy/_vendored/pydevd/pydevd_attach_to_process/winappdbg/win32/shlwapi.py +190 -108
- {debugpy-1.8.5 → debugpy-1.8.7}/src/debugpy/_vendored/pydevd/pydevd_attach_to_process/winappdbg/win32/user32.py +542 -437
- {debugpy-1.8.5 → debugpy-1.8.7}/src/debugpy/_vendored/pydevd/pydevd_attach_to_process/winappdbg/win32/version.py +489 -442
- {debugpy-1.8.5 → debugpy-1.8.7}/src/debugpy/_vendored/pydevd/pydevd_attach_to_process/winappdbg/win32/wtsapi32.py +83 -65
- {debugpy-1.8.5 → debugpy-1.8.7}/src/debugpy/_vendored/pydevd/pydevd_attach_to_process/winappdbg/window.py +70 -76
- {debugpy-1.8.5 → debugpy-1.8.7}/src/debugpy/_vendored/pydevd/pydevd_attach_to_process/windows/attach.cpp +17 -9
- {debugpy-1.8.5 → debugpy-1.8.7}/src/debugpy/_vendored/pydevd/pydevd_attach_to_process/windows/compile_windows.bat +1 -1
- {debugpy-1.8.5 → debugpy-1.8.7}/src/debugpy/_vendored/pydevd/pydevd_file_utils.py +141 -120
- {debugpy-1.8.5 → debugpy-1.8.7}/src/debugpy/_vendored/pydevd/pydevd_plugins/__init__.py +1 -0
- {debugpy-1.8.5 → debugpy-1.8.7}/src/debugpy/_vendored/pydevd/pydevd_plugins/django_debug.py +175 -149
- {debugpy-1.8.5 → debugpy-1.8.7}/src/debugpy/_vendored/pydevd/pydevd_plugins/extensions/__init__.py +1 -0
- {debugpy-1.8.5 → debugpy-1.8.7}/src/debugpy/_vendored/pydevd/pydevd_plugins/extensions/types/__init__.py +1 -0
- {debugpy-1.8.5 → debugpy-1.8.7}/src/debugpy/_vendored/pydevd/pydevd_plugins/extensions/types/pydevd_helpers.py +5 -5
- {debugpy-1.8.5 → debugpy-1.8.7}/src/debugpy/_vendored/pydevd/pydevd_plugins/extensions/types/pydevd_plugin_numpy_types.py +28 -28
- {debugpy-1.8.5 → debugpy-1.8.7}/src/debugpy/_vendored/pydevd/pydevd_plugins/extensions/types/pydevd_plugin_pandas_types.py +22 -30
- {debugpy-1.8.5 → debugpy-1.8.7}/src/debugpy/_vendored/pydevd/pydevd_plugins/extensions/types/pydevd_plugins_django_form_str.py +3 -2
- {debugpy-1.8.5 → debugpy-1.8.7}/src/debugpy/_vendored/pydevd/pydevd_plugins/jinja2_debug.py +130 -108
- {debugpy-1.8.5 → debugpy-1.8.7}/src/debugpy/_vendored/pydevd/pydevd_plugins/pydevd_line_validation.py +27 -14
- {debugpy-1.8.5 → debugpy-1.8.7}/src/debugpy/_vendored/pydevd/pydevd_tracing.py +85 -66
- {debugpy-1.8.5 → debugpy-1.8.7}/src/debugpy/_vendored/pydevd/setup_pydevd_cython.py +96 -59
- {debugpy-1.8.5 → debugpy-1.8.7}/src/debugpy/_version.py +3 -3
- {debugpy-1.8.5 → debugpy-1.8.7}/src/debugpy/common/messaging.py +2 -1
- {debugpy-1.8.5 → debugpy-1.8.7}/src/debugpy/server/cli.py +32 -17
- {debugpy-1.8.5 → debugpy-1.8.7/src/debugpy.egg-info}/PKG-INFO +1 -1
- {debugpy-1.8.5 → debugpy-1.8.7}/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_cython.c +0 -43377
- 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.7}/DESCRIPTION.md +0 -0
- {debugpy-1.8.5 → debugpy-1.8.7}/LICENSE +0 -0
- {debugpy-1.8.5 → debugpy-1.8.7}/MANIFEST.in +0 -0
- {debugpy-1.8.5 → debugpy-1.8.7}/README.md +0 -0
- {debugpy-1.8.5 → debugpy-1.8.7}/pyproject.toml +0 -0
- {debugpy-1.8.5 → debugpy-1.8.7}/setup.cfg +0 -0
- {debugpy-1.8.5 → debugpy-1.8.7}/setup.py +0 -0
- {debugpy-1.8.5 → debugpy-1.8.7}/src/debugpy/ThirdPartyNotices.txt +0 -0
- {debugpy-1.8.5 → debugpy-1.8.7}/src/debugpy/__init__.py +0 -0
- {debugpy-1.8.5 → debugpy-1.8.7}/src/debugpy/__main__.py +0 -0
- {debugpy-1.8.5 → debugpy-1.8.7}/src/debugpy/_vendored/__init__.py +0 -0
- {debugpy-1.8.5 → debugpy-1.8.7}/src/debugpy/_vendored/_pydevd_packaging.py +0 -0
- {debugpy-1.8.5 → debugpy-1.8.7}/src/debugpy/_vendored/_util.py +0 -0
- {debugpy-1.8.5 → debugpy-1.8.7}/src/debugpy/_vendored/force_pydevd.py +0 -0
- {debugpy-1.8.5 → debugpy-1.8.7}/src/debugpy/_vendored/pydevd/_pydev_bundle/__init__.py +0 -0
- {debugpy-1.8.5 → debugpy-1.8.7}/src/debugpy/_vendored/pydevd/_pydev_runfiles/__init__.py +0 -0
- {debugpy-1.8.5 → debugpy-1.8.7}/src/debugpy/_vendored/pydevd/_pydevd_bundle/__init__.py +0 -0
- {debugpy-1.8.5 → debugpy-1.8.7}/src/debugpy/_vendored/pydevd/_pydevd_bundle/_debug_adapter/__init__.py +0 -0
- {debugpy-1.8.5 → debugpy-1.8.7}/src/debugpy/_vendored/pydevd/_pydevd_bundle/_debug_adapter/debugProtocolCustom.json +0 -0
- {debugpy-1.8.5 → debugpy-1.8.7}/src/debugpy/_vendored/pydevd/_pydevd_bundle/pydevd_concurrency_analyser/__init__.py +0 -0
- {debugpy-1.8.5 → debugpy-1.8.7}/src/debugpy/_vendored/pydevd/_pydevd_frame_eval/.gitignore +0 -0
- {debugpy-1.8.5 → debugpy-1.8.7}/src/debugpy/_vendored/pydevd/_pydevd_frame_eval/__init__.py +0 -0
- {debugpy-1.8.5 → debugpy-1.8.7}/src/debugpy/_vendored/pydevd/_pydevd_frame_eval/pydevd_frame_evaluator.pxd +0 -0
- {debugpy-1.8.5 → debugpy-1.8.7}/src/debugpy/_vendored/pydevd/_pydevd_frame_eval/pydevd_frame_evaluator.pyx +0 -0
- {debugpy-1.8.5 → debugpy-1.8.7}/src/debugpy/_vendored/pydevd/_pydevd_frame_eval/pydevd_frame_evaluator.template.pyx +0 -0
- {debugpy-1.8.5 → debugpy-1.8.7}/src/debugpy/_vendored/pydevd/_pydevd_frame_eval/release_mem.h +0 -0
- {debugpy-1.8.5 → debugpy-1.8.7}/src/debugpy/_vendored/pydevd/_pydevd_frame_eval/vendored/README.txt +0 -0
- {debugpy-1.8.5 → debugpy-1.8.7}/src/debugpy/_vendored/pydevd/_pydevd_frame_eval/vendored/__init__.py +0 -0
- {debugpy-1.8.5 → debugpy-1.8.7}/src/debugpy/_vendored/pydevd/pydev_ipython/README +0 -0
- {debugpy-1.8.5 → debugpy-1.8.7}/src/debugpy/_vendored/pydevd/pydev_ipython/__init__.py +0 -0
- {debugpy-1.8.5 → debugpy-1.8.7}/src/debugpy/_vendored/pydevd/pydev_sitecustomize/__not_in_default_pythonpath.txt +0 -0
- {debugpy-1.8.5 → debugpy-1.8.7}/src/debugpy/_vendored/pydevd/pydevd_attach_to_process/README.txt +0 -0
- {debugpy-1.8.5 → debugpy-1.8.7}/src/debugpy/_vendored/pydevd/pydevd_attach_to_process/common/py_custom_pyeval_settrace.hpp +0 -0
- {debugpy-1.8.5 → debugpy-1.8.7}/src/debugpy/_vendored/pydevd/pydevd_attach_to_process/common/py_custom_pyeval_settrace_310.hpp +0 -0
- {debugpy-1.8.5 → debugpy-1.8.7}/src/debugpy/_vendored/pydevd/pydevd_attach_to_process/common/py_custom_pyeval_settrace_311.hpp +0 -0
- {debugpy-1.8.5 → debugpy-1.8.7}/src/debugpy/_vendored/pydevd/pydevd_attach_to_process/common/py_custom_pyeval_settrace_common.hpp +0 -0
- {debugpy-1.8.5 → debugpy-1.8.7}/src/debugpy/_vendored/pydevd/pydevd_attach_to_process/common/py_settrace.hpp +0 -0
- {debugpy-1.8.5 → debugpy-1.8.7}/src/debugpy/_vendored/pydevd/pydevd_attach_to_process/common/python.h +0 -0
- {debugpy-1.8.5 → debugpy-1.8.7}/src/debugpy/_vendored/pydevd/pydevd_attach_to_process/common/ref_utils.hpp +0 -0
- {debugpy-1.8.5 → debugpy-1.8.7}/src/debugpy/_vendored/pydevd/pydevd_attach_to_process/linux_and_mac/.gitignore +0 -0
- {debugpy-1.8.5 → debugpy-1.8.7}/src/debugpy/_vendored/pydevd/pydevd_attach_to_process/linux_and_mac/attach.cpp +0 -0
- {debugpy-1.8.5 → debugpy-1.8.7}/src/debugpy/_vendored/pydevd/pydevd_attach_to_process/linux_and_mac/compile_linux.sh +0 -0
- {debugpy-1.8.5 → debugpy-1.8.7}/src/debugpy/_vendored/pydevd/pydevd_attach_to_process/linux_and_mac/compile_mac.sh +0 -0
- {debugpy-1.8.5 → debugpy-1.8.7}/src/debugpy/_vendored/pydevd/pydevd_attach_to_process/linux_and_mac/compile_manylinux.cmd +0 -0
- {debugpy-1.8.5 → debugpy-1.8.7}/src/debugpy/_vendored/pydevd/pydevd_attach_to_process/windows/attach.h +0 -0
- {debugpy-1.8.5 → debugpy-1.8.7}/src/debugpy/_vendored/pydevd/pydevd_attach_to_process/windows/inject_dll.cpp +0 -0
- {debugpy-1.8.5 → debugpy-1.8.7}/src/debugpy/_vendored/pydevd/pydevd_attach_to_process/windows/py_win_helpers.hpp +0 -0
- {debugpy-1.8.5 → debugpy-1.8.7}/src/debugpy/_vendored/pydevd/pydevd_attach_to_process/windows/run_code_in_memory.hpp +0 -0
- {debugpy-1.8.5 → debugpy-1.8.7}/src/debugpy/_vendored/pydevd/pydevd_attach_to_process/windows/run_code_on_dllmain.cpp +0 -0
- {debugpy-1.8.5 → debugpy-1.8.7}/src/debugpy/_vendored/pydevd/pydevd_attach_to_process/windows/stdafx.cpp +0 -0
- {debugpy-1.8.5 → debugpy-1.8.7}/src/debugpy/_vendored/pydevd/pydevd_attach_to_process/windows/stdafx.h +0 -0
- {debugpy-1.8.5 → debugpy-1.8.7}/src/debugpy/_vendored/pydevd/pydevd_attach_to_process/windows/targetver.h +0 -0
- {debugpy-1.8.5 → debugpy-1.8.7}/src/debugpy/_vendored/pydevd/pydevd_plugins/extensions/README.md +0 -0
- {debugpy-1.8.5 → debugpy-1.8.7}/src/debugpy/adapter/__init__.py +0 -0
- {debugpy-1.8.5 → debugpy-1.8.7}/src/debugpy/adapter/__main__.py +0 -0
- {debugpy-1.8.5 → debugpy-1.8.7}/src/debugpy/adapter/clients.py +0 -0
- {debugpy-1.8.5 → debugpy-1.8.7}/src/debugpy/adapter/components.py +0 -0
- {debugpy-1.8.5 → debugpy-1.8.7}/src/debugpy/adapter/launchers.py +0 -0
- {debugpy-1.8.5 → debugpy-1.8.7}/src/debugpy/adapter/servers.py +0 -0
- {debugpy-1.8.5 → debugpy-1.8.7}/src/debugpy/adapter/sessions.py +0 -0
- {debugpy-1.8.5 → debugpy-1.8.7}/src/debugpy/common/__init__.py +0 -0
- {debugpy-1.8.5 → debugpy-1.8.7}/src/debugpy/common/json.py +0 -0
- {debugpy-1.8.5 → debugpy-1.8.7}/src/debugpy/common/log.py +0 -0
- {debugpy-1.8.5 → debugpy-1.8.7}/src/debugpy/common/singleton.py +0 -0
- {debugpy-1.8.5 → debugpy-1.8.7}/src/debugpy/common/sockets.py +0 -0
- {debugpy-1.8.5 → debugpy-1.8.7}/src/debugpy/common/stacks.py +0 -0
- {debugpy-1.8.5 → debugpy-1.8.7}/src/debugpy/common/timestamp.py +0 -0
- {debugpy-1.8.5 → debugpy-1.8.7}/src/debugpy/common/util.py +0 -0
- {debugpy-1.8.5 → debugpy-1.8.7}/src/debugpy/launcher/__init__.py +0 -0
- {debugpy-1.8.5 → debugpy-1.8.7}/src/debugpy/launcher/__main__.py +0 -0
- {debugpy-1.8.5 → debugpy-1.8.7}/src/debugpy/launcher/debuggee.py +0 -0
- {debugpy-1.8.5 → debugpy-1.8.7}/src/debugpy/launcher/handlers.py +0 -0
- {debugpy-1.8.5 → debugpy-1.8.7}/src/debugpy/launcher/output.py +0 -0
- {debugpy-1.8.5 → debugpy-1.8.7}/src/debugpy/launcher/winapi.py +0 -0
- {debugpy-1.8.5 → debugpy-1.8.7}/src/debugpy/public_api.py +0 -0
- {debugpy-1.8.5 → debugpy-1.8.7}/src/debugpy/server/__init__.py +0 -0
- {debugpy-1.8.5 → debugpy-1.8.7}/src/debugpy/server/api.py +0 -0
- {debugpy-1.8.5 → debugpy-1.8.7}/src/debugpy/server/attach_pid_injected.py +0 -0
- {debugpy-1.8.5 → debugpy-1.8.7}/src/debugpy.egg-info/dependency_links.txt +0 -0
- {debugpy-1.8.5 → debugpy-1.8.7}/src/debugpy.egg-info/entry_points.txt +0 -0
- {debugpy-1.8.5 → debugpy-1.8.7}/src/debugpy.egg-info/top_level.txt +0 -0
- {debugpy-1.8.5 → debugpy-1.8.7}/versioneer.py +0 -0
{debugpy-1.8.5 → debugpy-1.8.7}/src/debugpy/_vendored/pydevd/_pydevd_bundle/pydevd_trace_dispatch.py
RENAMED
|
@@ -2,8 +2,7 @@
|
|
|
2
2
|
# Should give warning only here if cython is not available but supported.
|
|
3
3
|
|
|
4
4
|
import os
|
|
5
|
-
from _pydevd_bundle.pydevd_constants import USE_CYTHON_FLAG, ENV_TRUE_LOWER_VALUES,
|
|
6
|
-
ENV_FALSE_LOWER_VALUES
|
|
5
|
+
from _pydevd_bundle.pydevd_constants import USE_CYTHON_FLAG, ENV_TRUE_LOWER_VALUES, ENV_FALSE_LOWER_VALUES
|
|
7
6
|
from _pydev_bundle import pydev_log
|
|
8
7
|
|
|
9
8
|
dirname = os.path.dirname(os.path.dirname(__file__))
|
|
@@ -12,11 +11,13 @@ USING_CYTHON = False
|
|
|
12
11
|
|
|
13
12
|
def delete_old_compiled_extensions():
|
|
14
13
|
import _pydevd_bundle
|
|
14
|
+
|
|
15
15
|
cython_extensions_dir = os.path.dirname(os.path.dirname(_pydevd_bundle.__file__))
|
|
16
16
|
_pydevd_bundle_ext_dir = os.path.dirname(_pydevd_bundle.__file__)
|
|
17
|
-
_pydevd_frame_eval_ext_dir = os.path.join(cython_extensions_dir,
|
|
17
|
+
_pydevd_frame_eval_ext_dir = os.path.join(cython_extensions_dir, "_pydevd_frame_eval_ext")
|
|
18
18
|
try:
|
|
19
19
|
import shutil
|
|
20
|
+
|
|
20
21
|
for file in os.listdir(_pydevd_bundle_ext_dir):
|
|
21
22
|
if file.startswith("pydevd") and file.endswith(".so"):
|
|
22
23
|
os.remove(os.path.join(_pydevd_bundle_ext_dir, file))
|
|
@@ -27,36 +28,65 @@ def delete_old_compiled_extensions():
|
|
|
27
28
|
if os.path.exists(build_dir):
|
|
28
29
|
shutil.rmtree(os.path.join(cython_extensions_dir, "build"))
|
|
29
30
|
except OSError:
|
|
30
|
-
pydev_log.error_once(
|
|
31
|
-
|
|
31
|
+
pydev_log.error_once(
|
|
32
|
+
"warning: failed to delete old cython speedups. Please delete all *.so files from the directories "
|
|
33
|
+
'"%s" and "%s"' % (_pydevd_bundle_ext_dir, _pydevd_frame_eval_ext_dir)
|
|
34
|
+
)
|
|
32
35
|
|
|
33
36
|
|
|
34
37
|
if USE_CYTHON_FLAG in ENV_TRUE_LOWER_VALUES:
|
|
35
38
|
# We must import the cython version if forcing cython
|
|
36
|
-
from _pydevd_bundle.pydevd_cython_wrapper import
|
|
39
|
+
from _pydevd_bundle.pydevd_cython_wrapper import (
|
|
40
|
+
trace_dispatch,
|
|
41
|
+
global_cache_skips,
|
|
42
|
+
global_cache_frame_skips,
|
|
43
|
+
fix_top_level_trace_and_get_trace_func,
|
|
44
|
+
)
|
|
45
|
+
from _pydevd_bundle.pydevd_cython_wrapper import should_stop_on_exception, handle_exception, is_unhandled_exception
|
|
46
|
+
|
|
37
47
|
USING_CYTHON = True
|
|
38
48
|
|
|
39
49
|
elif USE_CYTHON_FLAG in ENV_FALSE_LOWER_VALUES:
|
|
40
50
|
# Use the regular version if not forcing cython
|
|
41
|
-
from _pydevd_bundle.pydevd_trace_dispatch_regular import
|
|
51
|
+
from _pydevd_bundle.pydevd_trace_dispatch_regular import (
|
|
52
|
+
trace_dispatch,
|
|
53
|
+
global_cache_skips,
|
|
54
|
+
global_cache_frame_skips,
|
|
55
|
+
fix_top_level_trace_and_get_trace_func,
|
|
56
|
+
) # @UnusedImport
|
|
57
|
+
from .pydevd_frame import should_stop_on_exception, handle_exception, is_unhandled_exception
|
|
42
58
|
|
|
43
59
|
else:
|
|
44
60
|
# Regular: use fallback if not found and give message to user
|
|
45
61
|
try:
|
|
46
|
-
from _pydevd_bundle.pydevd_cython_wrapper import
|
|
62
|
+
from _pydevd_bundle.pydevd_cython_wrapper import (
|
|
63
|
+
trace_dispatch,
|
|
64
|
+
global_cache_skips,
|
|
65
|
+
global_cache_frame_skips,
|
|
66
|
+
fix_top_level_trace_and_get_trace_func,
|
|
67
|
+
)
|
|
68
|
+
from _pydevd_bundle.pydevd_cython_wrapper import should_stop_on_exception, handle_exception, is_unhandled_exception
|
|
47
69
|
|
|
48
70
|
# This version number is always available
|
|
49
71
|
from _pydevd_bundle.pydevd_additional_thread_info_regular import version as regular_version
|
|
72
|
+
|
|
50
73
|
# This version number from the already compiled cython extension
|
|
51
74
|
from _pydevd_bundle.pydevd_cython_wrapper import version as cython_version
|
|
75
|
+
|
|
52
76
|
if cython_version != regular_version:
|
|
53
77
|
# delete_old_compiled_extensions() -- would be ok in dev mode but we don't want to erase
|
|
54
78
|
# files from other python versions on release, so, just raise import error here.
|
|
55
|
-
raise ImportError(
|
|
79
|
+
raise ImportError("Cython version of speedups does not match.")
|
|
56
80
|
else:
|
|
57
81
|
USING_CYTHON = True
|
|
58
82
|
|
|
59
83
|
except ImportError:
|
|
60
|
-
from _pydevd_bundle.pydevd_trace_dispatch_regular import
|
|
61
|
-
|
|
84
|
+
from _pydevd_bundle.pydevd_trace_dispatch_regular import (
|
|
85
|
+
trace_dispatch,
|
|
86
|
+
global_cache_skips,
|
|
87
|
+
global_cache_frame_skips,
|
|
88
|
+
fix_top_level_trace_and_get_trace_func,
|
|
89
|
+
) # @UnusedImport
|
|
90
|
+
from .pydevd_frame import should_stop_on_exception, handle_exception, is_unhandled_exception
|
|
62
91
|
|
|
92
|
+
pydev_log.show_compile_cython_command_line()
|
|
@@ -1,17 +1,25 @@
|
|
|
1
1
|
from _pydev_bundle.pydev_is_thread_alive import is_thread_alive
|
|
2
2
|
from _pydev_bundle.pydev_log import exception as pydev_log_exception
|
|
3
3
|
from _pydev_bundle._pydev_saved_modules import threading
|
|
4
|
-
from _pydevd_bundle.pydevd_constants import (
|
|
5
|
-
|
|
4
|
+
from _pydevd_bundle.pydevd_constants import (
|
|
5
|
+
get_current_thread_id,
|
|
6
|
+
NO_FTRACE,
|
|
7
|
+
USE_CUSTOM_SYS_CURRENT_FRAMES_MAP,
|
|
8
|
+
ForkSafeLock,
|
|
9
|
+
PYDEVD_USE_SYS_MONITORING,
|
|
10
|
+
)
|
|
6
11
|
from pydevd_file_utils import get_abs_path_real_path_and_base_from_frame, NORM_PATHS_AND_BASE_CONTAINER
|
|
7
12
|
|
|
13
|
+
# fmt: off
|
|
8
14
|
# IFDEF CYTHON
|
|
9
15
|
# from cpython.object cimport PyObject
|
|
10
16
|
# from cpython.ref cimport Py_INCREF, Py_XDECREF
|
|
11
17
|
# ELSE
|
|
12
18
|
from _pydevd_bundle.pydevd_frame import PyDBFrame, is_unhandled_exception
|
|
13
19
|
# ENDIF
|
|
20
|
+
# fmt: on
|
|
14
21
|
|
|
22
|
+
# fmt: off
|
|
15
23
|
# IFDEF CYTHON
|
|
16
24
|
# cdef dict _global_notify_skipped_step_in
|
|
17
25
|
# cython_inline_constant: CMD_STEP_INTO = 107
|
|
@@ -25,6 +33,7 @@ CMD_STEP_INTO_MY_CODE = 144
|
|
|
25
33
|
CMD_STEP_RETURN = 109
|
|
26
34
|
CMD_STEP_RETURN_MY_CODE = 160
|
|
27
35
|
# ENDIF
|
|
36
|
+
# fmt: on
|
|
28
37
|
|
|
29
38
|
# Cache where we should keep that we completely skipped entering some context.
|
|
30
39
|
# It needs to be invalidated when:
|
|
@@ -48,6 +57,8 @@ def notify_skipped_step_in_because_of_filters(py_db, frame):
|
|
|
48
57
|
_global_notify_skipped_step_in = True
|
|
49
58
|
py_db.notify_skipped_step_in_because_of_filters(frame)
|
|
50
59
|
|
|
60
|
+
|
|
61
|
+
# fmt: off
|
|
51
62
|
# IFDEF CYTHON
|
|
52
63
|
# cdef class SafeCallWrapper:
|
|
53
64
|
# cdef method_object
|
|
@@ -65,14 +76,17 @@ def notify_skipped_step_in_because_of_filters(py_db, frame):
|
|
|
65
76
|
# return self.method_object
|
|
66
77
|
# ELSE
|
|
67
78
|
# ENDIF
|
|
79
|
+
# fmt: on
|
|
68
80
|
|
|
69
81
|
|
|
70
82
|
def fix_top_level_trace_and_get_trace_func(py_db, frame):
|
|
83
|
+
# fmt: off
|
|
71
84
|
# IFDEF CYTHON
|
|
72
85
|
# cdef str filename;
|
|
73
86
|
# cdef str name;
|
|
74
87
|
# cdef tuple args;
|
|
75
88
|
# ENDIF
|
|
89
|
+
# fmt: on
|
|
76
90
|
|
|
77
91
|
# Note: this is always the first entry-point in the tracing for any thread.
|
|
78
92
|
# After entering here we'll set a new tracing function for this thread
|
|
@@ -90,45 +104,45 @@ def fix_top_level_trace_and_get_trace_func(py_db, frame):
|
|
|
90
104
|
|
|
91
105
|
name = f_unhandled.f_code.co_filename
|
|
92
106
|
# basename
|
|
93
|
-
i = name.rfind(
|
|
94
|
-
j = name.rfind(
|
|
107
|
+
i = name.rfind("/")
|
|
108
|
+
j = name.rfind("\\")
|
|
95
109
|
if j > i:
|
|
96
110
|
i = j
|
|
97
111
|
if i >= 0:
|
|
98
|
-
name = name[i + 1:]
|
|
112
|
+
name = name[i + 1 :]
|
|
99
113
|
# remove ext
|
|
100
|
-
i = name.rfind(
|
|
114
|
+
i = name.rfind(".")
|
|
101
115
|
if i >= 0:
|
|
102
116
|
name = name[:i]
|
|
103
117
|
|
|
104
|
-
if name ==
|
|
105
|
-
if f_unhandled.f_code.co_name in (
|
|
118
|
+
if name == "threading":
|
|
119
|
+
if f_unhandled.f_code.co_name in ("__bootstrap", "_bootstrap"):
|
|
106
120
|
# We need __bootstrap_inner, not __bootstrap.
|
|
107
121
|
return None, False
|
|
108
122
|
|
|
109
|
-
elif f_unhandled.f_code.co_name in (
|
|
123
|
+
elif f_unhandled.f_code.co_name in ("__bootstrap_inner", "_bootstrap_inner"):
|
|
110
124
|
# Note: be careful not to use threading.currentThread to avoid creating a dummy thread.
|
|
111
|
-
t = f_unhandled.f_locals.get(
|
|
125
|
+
t = f_unhandled.f_locals.get("self")
|
|
112
126
|
force_only_unhandled_tracer = True
|
|
113
127
|
if t is not None and isinstance(t, threading.Thread):
|
|
114
128
|
thread = t
|
|
115
129
|
break
|
|
116
130
|
|
|
117
|
-
elif name ==
|
|
118
|
-
if f_unhandled.f_code.co_name ==
|
|
131
|
+
elif name == "pydev_monkey":
|
|
132
|
+
if f_unhandled.f_code.co_name == "__call__":
|
|
119
133
|
force_only_unhandled_tracer = True
|
|
120
134
|
break
|
|
121
135
|
|
|
122
|
-
elif name ==
|
|
123
|
-
if f_unhandled.f_code.co_name in (
|
|
136
|
+
elif name == "pydevd":
|
|
137
|
+
if f_unhandled.f_code.co_name in ("run", "main"):
|
|
124
138
|
# We need to get to _exec
|
|
125
139
|
return None, False
|
|
126
140
|
|
|
127
|
-
if f_unhandled.f_code.co_name ==
|
|
141
|
+
if f_unhandled.f_code.co_name == "_exec":
|
|
128
142
|
force_only_unhandled_tracer = True
|
|
129
143
|
break
|
|
130
144
|
|
|
131
|
-
elif name ==
|
|
145
|
+
elif name == "pydevd_tracing":
|
|
132
146
|
return None, False
|
|
133
147
|
|
|
134
148
|
elif f_unhandled.f_back is None:
|
|
@@ -147,7 +161,7 @@ def fix_top_level_trace_and_get_trace_func(py_db, frame):
|
|
|
147
161
|
# Jython does not have threading.get_ident().
|
|
148
162
|
thread = py_db.threading_current_thread()
|
|
149
163
|
|
|
150
|
-
if getattr(thread,
|
|
164
|
+
if getattr(thread, "pydev_do_not_trace", None):
|
|
151
165
|
py_db.disable_tracing()
|
|
152
166
|
return None, False
|
|
153
167
|
|
|
@@ -165,19 +179,25 @@ def fix_top_level_trace_and_get_trace_func(py_db, frame):
|
|
|
165
179
|
if f_unhandled.f_back is None and not force_only_unhandled_tracer:
|
|
166
180
|
# Happens when we attach to a running program (cannot reuse instance because it's mutable).
|
|
167
181
|
top_level_thread_tracer = TopLevelThreadTracerNoBackFrame(ThreadTracer(args), args)
|
|
168
|
-
additional_info.top_level_thread_tracer_no_back_frames.append(
|
|
182
|
+
additional_info.top_level_thread_tracer_no_back_frames.append(
|
|
183
|
+
top_level_thread_tracer
|
|
184
|
+
) # Hack for cython to keep it alive while the thread is alive (just the method in the SetTrace is not enough).
|
|
169
185
|
else:
|
|
170
186
|
top_level_thread_tracer = additional_info.top_level_thread_tracer_unhandled
|
|
171
187
|
if top_level_thread_tracer is None:
|
|
172
188
|
# Stop in some internal place to report about unhandled exceptions
|
|
173
189
|
top_level_thread_tracer = TopLevelThreadTracerOnlyUnhandledExceptions(args)
|
|
174
|
-
additional_info.top_level_thread_tracer_unhandled =
|
|
190
|
+
additional_info.top_level_thread_tracer_unhandled = (
|
|
191
|
+
top_level_thread_tracer
|
|
192
|
+
) # Hack for cython to keep it alive while the thread is alive (just the method in the SetTrace is not enough).
|
|
175
193
|
|
|
176
194
|
# print(' --> found to trace unhandled', f_unhandled.f_code.co_name, f_unhandled.f_code.co_filename, f_unhandled.f_code.co_firstlineno)
|
|
177
195
|
f_trace = top_level_thread_tracer.get_trace_dispatch_func()
|
|
196
|
+
# fmt: off
|
|
178
197
|
# IFDEF CYTHON
|
|
179
198
|
# f_trace = SafeCallWrapper(f_trace)
|
|
180
199
|
# ENDIF
|
|
200
|
+
# fmt: on
|
|
181
201
|
f_unhandled.f_trace = f_trace
|
|
182
202
|
|
|
183
203
|
if frame is f_unhandled:
|
|
@@ -188,22 +208,25 @@ def fix_top_level_trace_and_get_trace_func(py_db, frame):
|
|
|
188
208
|
thread_tracer = ThreadTracer(args)
|
|
189
209
|
additional_info.thread_tracer = thread_tracer
|
|
190
210
|
|
|
191
|
-
#
|
|
192
|
-
#
|
|
193
|
-
#
|
|
211
|
+
# fmt: off
|
|
212
|
+
# IFDEF CYTHON
|
|
213
|
+
# return SafeCallWrapper(thread_tracer), True
|
|
214
|
+
# ELSE
|
|
194
215
|
return thread_tracer, True
|
|
195
|
-
# ENDIF
|
|
216
|
+
# ENDIF
|
|
217
|
+
# fmt: on
|
|
196
218
|
|
|
197
219
|
|
|
198
220
|
def trace_dispatch(py_db, frame, event, arg):
|
|
199
221
|
thread_trace_func, apply_to_settrace = py_db.fix_top_level_trace_and_get_trace_func(py_db, frame)
|
|
200
222
|
if thread_trace_func is None:
|
|
201
|
-
return None if event ==
|
|
223
|
+
return None if event == "call" else NO_FTRACE
|
|
202
224
|
if apply_to_settrace:
|
|
203
225
|
py_db.enable_tracing(thread_trace_func)
|
|
204
226
|
return thread_trace_func(frame, event, arg)
|
|
205
227
|
|
|
206
228
|
|
|
229
|
+
# fmt: off
|
|
207
230
|
# IFDEF CYTHON
|
|
208
231
|
# cdef class TopLevelThreadTracerOnlyUnhandledExceptions:
|
|
209
232
|
# cdef public tuple _args;
|
|
@@ -211,15 +234,16 @@ def trace_dispatch(py_db, frame, event, arg):
|
|
|
211
234
|
# self._args = args
|
|
212
235
|
# ELSE
|
|
213
236
|
class TopLevelThreadTracerOnlyUnhandledExceptions(object):
|
|
214
|
-
|
|
215
237
|
def __init__(self, args):
|
|
216
238
|
self._args = args
|
|
239
|
+
|
|
217
240
|
# ENDIF
|
|
241
|
+
# fmt: on
|
|
218
242
|
|
|
219
243
|
def trace_unhandled_exceptions(self, frame, event, arg):
|
|
220
244
|
# Note that we ignore the frame as this tracing method should only be put in topmost frames already.
|
|
221
245
|
# print('trace_unhandled_exceptions', event, frame.f_code.co_name, frame.f_code.co_filename, frame.f_code.co_firstlineno)
|
|
222
|
-
if event ==
|
|
246
|
+
if event == "exception" and arg is not None:
|
|
223
247
|
py_db, t, additional_info = self._args[0:3]
|
|
224
248
|
if arg is not None:
|
|
225
249
|
if not additional_info.suspended_at_unhandled:
|
|
@@ -233,7 +257,7 @@ class TopLevelThreadTracerOnlyUnhandledExceptions(object):
|
|
|
233
257
|
def get_trace_dispatch_func(self):
|
|
234
258
|
return self.trace_unhandled_exceptions
|
|
235
259
|
|
|
236
|
-
|
|
260
|
+
# fmt: off
|
|
237
261
|
# IFDEF CYTHON
|
|
238
262
|
# cdef class TopLevelThreadTracerNoBackFrame:
|
|
239
263
|
#
|
|
@@ -253,7 +277,7 @@ class TopLevelThreadTracerOnlyUnhandledExceptions(object):
|
|
|
253
277
|
# self._last_raise_line = -1
|
|
254
278
|
# ELSE
|
|
255
279
|
class TopLevelThreadTracerNoBackFrame(object):
|
|
256
|
-
|
|
280
|
+
"""
|
|
257
281
|
This tracer is pretty special in that it's dealing with a frame without f_back (i.e.: top frame
|
|
258
282
|
on remote attach or QThread).
|
|
259
283
|
|
|
@@ -263,7 +287,7 @@ class TopLevelThreadTracerNoBackFrame(object):
|
|
|
263
287
|
work with in the tracing -- see: https://bugs.python.org/issue34099, so, we inspect bytecode to
|
|
264
288
|
determine if some exception will be traced or not... note that if this is not available -- such
|
|
265
289
|
as on Jython -- we consider any top-level exception to be unnhandled).
|
|
266
|
-
|
|
290
|
+
"""
|
|
267
291
|
|
|
268
292
|
def __init__(self, frame_trace_dispatch, args):
|
|
269
293
|
self._frame_trace_dispatch = frame_trace_dispatch
|
|
@@ -272,7 +296,9 @@ class TopLevelThreadTracerNoBackFrame(object):
|
|
|
272
296
|
self._last_exc_arg = None
|
|
273
297
|
self._raise_lines = set()
|
|
274
298
|
self._last_raise_line = -1
|
|
299
|
+
|
|
275
300
|
# ENDIF
|
|
301
|
+
# fmt: on
|
|
276
302
|
|
|
277
303
|
def trace_dispatch_and_unhandled_exceptions(self, frame, event, arg):
|
|
278
304
|
# DEBUG = 'code_to_debug' in frame.f_code.co_filename
|
|
@@ -281,12 +307,12 @@ class TopLevelThreadTracerNoBackFrame(object):
|
|
|
281
307
|
if frame_trace_dispatch is not None:
|
|
282
308
|
self._frame_trace_dispatch = frame_trace_dispatch(frame, event, arg)
|
|
283
309
|
|
|
284
|
-
if event ==
|
|
310
|
+
if event == "exception":
|
|
285
311
|
self._last_exc_arg = arg
|
|
286
312
|
self._raise_lines.add(frame.f_lineno)
|
|
287
313
|
self._last_raise_line = frame.f_lineno
|
|
288
314
|
|
|
289
|
-
elif event ==
|
|
315
|
+
elif event == "return" and self._last_exc_arg is not None:
|
|
290
316
|
# For unhandled exceptions we actually track the return when at the topmost level.
|
|
291
317
|
try:
|
|
292
318
|
py_db, t, additional_info = self._args[0:3]
|
|
@@ -300,17 +326,20 @@ class TopLevelThreadTracerNoBackFrame(object):
|
|
|
300
326
|
ret = self.trace_dispatch_and_unhandled_exceptions
|
|
301
327
|
|
|
302
328
|
# Need to reset (the call to _frame_trace_dispatch may have changed it).
|
|
329
|
+
# fmt: off
|
|
303
330
|
# IFDEF CYTHON
|
|
304
331
|
# frame.f_trace = SafeCallWrapper(ret)
|
|
305
332
|
# ELSE
|
|
306
333
|
frame.f_trace = ret
|
|
307
334
|
# ENDIF
|
|
335
|
+
# fmt: on
|
|
308
336
|
return ret
|
|
309
337
|
|
|
310
338
|
def get_trace_dispatch_func(self):
|
|
311
339
|
return self.trace_dispatch_and_unhandled_exceptions
|
|
312
340
|
|
|
313
341
|
|
|
342
|
+
# fmt: off
|
|
314
343
|
# IFDEF CYTHON
|
|
315
344
|
# cdef class ThreadTracer:
|
|
316
345
|
# cdef public tuple _args;
|
|
@@ -318,13 +347,14 @@ class TopLevelThreadTracerNoBackFrame(object):
|
|
|
318
347
|
# self._args = args
|
|
319
348
|
# ELSE
|
|
320
349
|
class ThreadTracer(object):
|
|
321
|
-
|
|
322
350
|
def __init__(self, args):
|
|
323
351
|
self._args = args
|
|
352
|
+
|
|
324
353
|
# ENDIF
|
|
354
|
+
# fmt: on
|
|
325
355
|
|
|
326
356
|
def __call__(self, frame, event, arg):
|
|
327
|
-
|
|
357
|
+
"""This is the callback used when we enter some context in the debugger.
|
|
328
358
|
|
|
329
359
|
We also decorate the thread we are in with info about the debugging.
|
|
330
360
|
The attributes added are:
|
|
@@ -335,7 +365,8 @@ class ThreadTracer(object):
|
|
|
335
365
|
|
|
336
366
|
:param PyDB py_db:
|
|
337
367
|
This is the global debugger (this method should actually be added as a method to it).
|
|
338
|
-
|
|
368
|
+
"""
|
|
369
|
+
# fmt: off
|
|
339
370
|
# IFDEF CYTHON
|
|
340
371
|
# cdef str filename;
|
|
341
372
|
# cdef str base;
|
|
@@ -346,24 +377,25 @@ class ThreadTracer(object):
|
|
|
346
377
|
# cdef tuple abs_path_canonical_path_and_base;
|
|
347
378
|
# cdef PyDBAdditionalThreadInfo additional_info;
|
|
348
379
|
# ENDIF
|
|
380
|
+
# fmt: on
|
|
349
381
|
|
|
350
382
|
# DEBUG = 'code_to_debug' in frame.f_code.co_filename
|
|
351
383
|
# if DEBUG: print('ENTER: trace_dispatch: %s %s %s %s' % (frame.f_code.co_filename, frame.f_lineno, event, frame.f_code.co_name))
|
|
352
384
|
py_db, t, additional_info, cache_skips, frame_skips_cache = self._args
|
|
353
385
|
if additional_info.is_tracing:
|
|
354
|
-
return None if event ==
|
|
386
|
+
return None if event == "call" else NO_FTRACE # we don't wan't to trace code invoked from pydevd_frame.trace_dispatch
|
|
355
387
|
|
|
356
388
|
additional_info.is_tracing += 1
|
|
357
389
|
try:
|
|
358
390
|
pydev_step_cmd = additional_info.pydev_step_cmd
|
|
359
391
|
is_stepping = pydev_step_cmd != -1
|
|
360
392
|
if py_db.pydb_disposed:
|
|
361
|
-
return None if event ==
|
|
393
|
+
return None if event == "call" else NO_FTRACE
|
|
362
394
|
|
|
363
395
|
# if thread is not alive, cancel trace_dispatch processing
|
|
364
396
|
if not is_thread_alive(t):
|
|
365
397
|
py_db.notify_thread_not_alive(get_current_thread_id(t))
|
|
366
|
-
return None if event ==
|
|
398
|
+
return None if event == "call" else NO_FTRACE
|
|
367
399
|
|
|
368
400
|
# Note: it's important that the context name is also given because we may hit something once
|
|
369
401
|
# in the global context and another in the local context.
|
|
@@ -371,23 +403,30 @@ class ThreadTracer(object):
|
|
|
371
403
|
if frame_cache_key in cache_skips:
|
|
372
404
|
if not is_stepping:
|
|
373
405
|
# if DEBUG: print('skipped: trace_dispatch (cache hit)', frame_cache_key, frame.f_lineno, event, frame.f_code.co_name)
|
|
374
|
-
return None if event ==
|
|
406
|
+
return None if event == "call" else NO_FTRACE
|
|
375
407
|
else:
|
|
376
408
|
# When stepping we can't take into account caching based on the breakpoints (only global filtering).
|
|
377
409
|
if cache_skips.get(frame_cache_key) == 1:
|
|
378
|
-
|
|
379
|
-
|
|
410
|
+
if (
|
|
411
|
+
additional_info.pydev_original_step_cmd in (CMD_STEP_INTO, CMD_STEP_INTO_MY_CODE)
|
|
412
|
+
and not _global_notify_skipped_step_in
|
|
413
|
+
):
|
|
380
414
|
notify_skipped_step_in_because_of_filters(py_db, frame)
|
|
381
415
|
|
|
382
416
|
back_frame = frame.f_back
|
|
383
|
-
if back_frame is not None and pydev_step_cmd in (
|
|
417
|
+
if back_frame is not None and pydev_step_cmd in (
|
|
418
|
+
CMD_STEP_INTO,
|
|
419
|
+
CMD_STEP_INTO_MY_CODE,
|
|
420
|
+
CMD_STEP_RETURN,
|
|
421
|
+
CMD_STEP_RETURN_MY_CODE,
|
|
422
|
+
):
|
|
384
423
|
back_frame_cache_key = back_frame.f_code
|
|
385
424
|
if cache_skips.get(back_frame_cache_key) == 1:
|
|
386
425
|
# if DEBUG: print('skipped: trace_dispatch (cache hit: 1)', frame_cache_key, frame.f_lineno, event, frame.f_code.co_name)
|
|
387
|
-
return None if event ==
|
|
426
|
+
return None if event == "call" else NO_FTRACE
|
|
388
427
|
else:
|
|
389
428
|
# if DEBUG: print('skipped: trace_dispatch (cache hit: 2)', frame_cache_key, frame.f_lineno, event, frame.f_code.co_name)
|
|
390
|
-
return None if event ==
|
|
429
|
+
return None if event == "call" else NO_FTRACE
|
|
391
430
|
|
|
392
431
|
try:
|
|
393
432
|
# Make fast path faster!
|
|
@@ -395,39 +434,50 @@ class ThreadTracer(object):
|
|
|
395
434
|
except:
|
|
396
435
|
abs_path_canonical_path_and_base = get_abs_path_real_path_and_base_from_frame(frame)
|
|
397
436
|
|
|
398
|
-
file_type = py_db.get_file_type(
|
|
437
|
+
file_type = py_db.get_file_type(
|
|
438
|
+
frame, abs_path_canonical_path_and_base
|
|
439
|
+
) # we don't want to debug threading or anything related to pydevd
|
|
399
440
|
|
|
400
441
|
if file_type is not None:
|
|
401
442
|
if file_type == 1: # inlining LIB_FILE = 1
|
|
402
443
|
if not py_db.in_project_scope(frame, abs_path_canonical_path_and_base[0]):
|
|
403
444
|
# if DEBUG: print('skipped: trace_dispatch (not in scope)', abs_path_canonical_path_and_base[2], frame.f_lineno, event, frame.f_code.co_name, file_type)
|
|
404
445
|
cache_skips[frame_cache_key] = 1
|
|
405
|
-
return None if event ==
|
|
446
|
+
return None if event == "call" else NO_FTRACE
|
|
406
447
|
else:
|
|
407
448
|
# if DEBUG: print('skipped: trace_dispatch', abs_path_canonical_path_and_base[2], frame.f_lineno, event, frame.f_code.co_name, file_type)
|
|
408
449
|
cache_skips[frame_cache_key] = 1
|
|
409
|
-
return None if event ==
|
|
450
|
+
return None if event == "call" else NO_FTRACE
|
|
410
451
|
|
|
411
452
|
if py_db.is_files_filter_enabled:
|
|
412
453
|
if py_db.apply_files_filter(frame, abs_path_canonical_path_and_base[0], False):
|
|
413
454
|
cache_skips[frame_cache_key] = 1
|
|
414
455
|
|
|
415
|
-
if
|
|
456
|
+
if (
|
|
457
|
+
is_stepping
|
|
458
|
+
and additional_info.pydev_original_step_cmd in (CMD_STEP_INTO, CMD_STEP_INTO_MY_CODE)
|
|
459
|
+
and not _global_notify_skipped_step_in
|
|
460
|
+
):
|
|
416
461
|
notify_skipped_step_in_because_of_filters(py_db, frame)
|
|
417
462
|
|
|
418
463
|
# A little gotcha, sometimes when we're stepping in we have to stop in a
|
|
419
464
|
# return event showing the back frame as the current frame, so, we need
|
|
420
465
|
# to check not only the current frame but the back frame too.
|
|
421
466
|
back_frame = frame.f_back
|
|
422
|
-
if back_frame is not None and pydev_step_cmd in (
|
|
467
|
+
if back_frame is not None and pydev_step_cmd in (
|
|
468
|
+
CMD_STEP_INTO,
|
|
469
|
+
CMD_STEP_INTO_MY_CODE,
|
|
470
|
+
CMD_STEP_RETURN,
|
|
471
|
+
CMD_STEP_RETURN_MY_CODE,
|
|
472
|
+
):
|
|
423
473
|
if py_db.apply_files_filter(back_frame, back_frame.f_code.co_filename, False):
|
|
424
474
|
back_frame_cache_key = back_frame.f_code
|
|
425
475
|
cache_skips[back_frame_cache_key] = 1
|
|
426
476
|
# if DEBUG: print('skipped: trace_dispatch (filtered out: 1)', frame_cache_key, frame.f_lineno, event, frame.f_code.co_name)
|
|
427
|
-
return None if event ==
|
|
477
|
+
return None if event == "call" else NO_FTRACE
|
|
428
478
|
else:
|
|
429
479
|
# if DEBUG: print('skipped: trace_dispatch (filtered out: 2)', frame_cache_key, frame.f_lineno, event, frame.f_code.co_name)
|
|
430
|
-
return None if event ==
|
|
480
|
+
return None if event == "call" else NO_FTRACE
|
|
431
481
|
|
|
432
482
|
# if DEBUG: print('trace_dispatch', filename, frame.f_lineno, event, frame.f_code.co_name, file_type)
|
|
433
483
|
|
|
@@ -435,28 +485,35 @@ class ThreadTracer(object):
|
|
|
435
485
|
# reference to the frame).
|
|
436
486
|
ret = PyDBFrame(
|
|
437
487
|
(
|
|
438
|
-
py_db,
|
|
488
|
+
py_db,
|
|
489
|
+
abs_path_canonical_path_and_base,
|
|
490
|
+
additional_info,
|
|
491
|
+
t,
|
|
492
|
+
frame_skips_cache,
|
|
493
|
+
frame_cache_key,
|
|
439
494
|
)
|
|
440
495
|
).trace_dispatch(frame, event, arg)
|
|
441
496
|
if ret is None:
|
|
442
497
|
# 1 means skipped because of filters.
|
|
443
498
|
# 2 means skipped because no breakpoints were hit.
|
|
444
499
|
cache_skips[frame_cache_key] = 2
|
|
445
|
-
return None if event ==
|
|
500
|
+
return None if event == "call" else NO_FTRACE
|
|
446
501
|
|
|
502
|
+
# fmt: off
|
|
447
503
|
# IFDEF CYTHON
|
|
448
504
|
# frame.f_trace = SafeCallWrapper(ret) # Make sure we keep the returned tracer.
|
|
449
505
|
# ELSE
|
|
450
506
|
frame.f_trace = ret # Make sure we keep the returned tracer.
|
|
451
507
|
# ENDIF
|
|
508
|
+
# fmt: on
|
|
452
509
|
return ret
|
|
453
510
|
|
|
454
511
|
except SystemExit:
|
|
455
|
-
return None if event ==
|
|
512
|
+
return None if event == "call" else NO_FTRACE
|
|
456
513
|
|
|
457
514
|
except Exception:
|
|
458
515
|
if py_db.pydb_disposed:
|
|
459
|
-
return None if event ==
|
|
516
|
+
return None if event == "call" else NO_FTRACE # Don't log errors when we're shutting down.
|
|
460
517
|
# Log it
|
|
461
518
|
try:
|
|
462
519
|
if pydev_log_exception is not None:
|
|
@@ -466,7 +523,7 @@ class ThreadTracer(object):
|
|
|
466
523
|
# Error logging? We're really in the interpreter shutdown...
|
|
467
524
|
# (https://github.com/fabioz/PyDev.Debugger/issues/8)
|
|
468
525
|
pass
|
|
469
|
-
return None if event ==
|
|
526
|
+
return None if event == "call" else NO_FTRACE
|
|
470
527
|
finally:
|
|
471
528
|
additional_info.is_tracing -= 1
|
|
472
529
|
|
|
@@ -488,3 +545,8 @@ if USE_CUSTOM_SYS_CURRENT_FRAMES_MAP:
|
|
|
488
545
|
return _original_call(self, frame, event, arg)
|
|
489
546
|
|
|
490
547
|
ThreadTracer.__call__ = __call__
|
|
548
|
+
|
|
549
|
+
if PYDEVD_USE_SYS_MONITORING:
|
|
550
|
+
|
|
551
|
+
def fix_top_level_trace_and_get_trace_func(*args, **kwargs):
|
|
552
|
+
raise RuntimeError("Not used in sys.monitoring mode.")
|
{debugpy-1.8.5 → debugpy-1.8.7}/src/debugpy/_vendored/pydevd/_pydevd_bundle/pydevd_traceproperty.py
RENAMED
|
@@ -1,27 +1,28 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
1
|
+
"""For debug purpose we are replacing actual builtin property by the debug property
|
|
2
|
+
"""
|
|
3
3
|
from _pydevd_bundle.pydevd_comm import get_global_debugger
|
|
4
4
|
from _pydev_bundle import pydev_log
|
|
5
5
|
|
|
6
6
|
|
|
7
|
-
|
|
7
|
+
# =======================================================================================================================
|
|
8
8
|
# replace_builtin_property
|
|
9
|
-
|
|
9
|
+
# =======================================================================================================================
|
|
10
10
|
def replace_builtin_property(new_property=None):
|
|
11
11
|
if new_property is None:
|
|
12
12
|
new_property = DebugProperty
|
|
13
13
|
original = property
|
|
14
14
|
try:
|
|
15
15
|
import builtins
|
|
16
|
-
|
|
16
|
+
|
|
17
|
+
builtins.__dict__["property"] = new_property
|
|
17
18
|
except:
|
|
18
19
|
pydev_log.exception() # @Reimport
|
|
19
20
|
return original
|
|
20
21
|
|
|
21
22
|
|
|
22
|
-
|
|
23
|
+
# =======================================================================================================================
|
|
23
24
|
# DebugProperty
|
|
24
|
-
|
|
25
|
+
# =======================================================================================================================
|
|
25
26
|
class DebugProperty(object):
|
|
26
27
|
"""A custom property which allows python property to get
|
|
27
28
|
controlled by the debugger and selectively disable/re-enable
|
|
@@ -73,20 +74,16 @@ class DebugProperty(object):
|
|
|
73
74
|
global_debugger.enable_tracing()
|
|
74
75
|
|
|
75
76
|
def getter(self, fget):
|
|
76
|
-
"""Overriding getter decorator for the property
|
|
77
|
-
"""
|
|
77
|
+
"""Overriding getter decorator for the property"""
|
|
78
78
|
self.fget = fget
|
|
79
79
|
return self
|
|
80
80
|
|
|
81
81
|
def setter(self, fset):
|
|
82
|
-
"""Overriding setter decorator for the property
|
|
83
|
-
"""
|
|
82
|
+
"""Overriding setter decorator for the property"""
|
|
84
83
|
self.fset = fset
|
|
85
84
|
return self
|
|
86
85
|
|
|
87
86
|
def deleter(self, fdel):
|
|
88
|
-
"""Overriding deleter decorator for the property
|
|
89
|
-
"""
|
|
87
|
+
"""Overriding deleter decorator for the property"""
|
|
90
88
|
self.fdel = fdel
|
|
91
89
|
return self
|
|
92
|
-
|