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
|
@@ -38,43 +38,43 @@ from winappdbg.win32.defines import *
|
|
|
38
38
|
from winappdbg.win32.version import ARCH_AMD64
|
|
39
39
|
from winappdbg.win32 import context_i386
|
|
40
40
|
|
|
41
|
-
|
|
41
|
+
# ==============================================================================
|
|
42
42
|
# This is used later on to calculate the list of exported symbols.
|
|
43
43
|
_all = None
|
|
44
44
|
_all = set(vars().keys())
|
|
45
|
-
|
|
45
|
+
# ==============================================================================
|
|
46
46
|
|
|
47
|
-
|
|
47
|
+
# --- CONTEXT structures and constants -----------------------------------------
|
|
48
48
|
|
|
49
49
|
# The following values specify the type of access in the first parameter
|
|
50
50
|
# of the exception record when the exception code specifies an access
|
|
51
51
|
# violation.
|
|
52
|
-
EXCEPTION_READ_FAULT
|
|
53
|
-
EXCEPTION_WRITE_FAULT
|
|
54
|
-
EXCEPTION_EXECUTE_FAULT
|
|
52
|
+
EXCEPTION_READ_FAULT = 0 # exception caused by a read
|
|
53
|
+
EXCEPTION_WRITE_FAULT = 1 # exception caused by a write
|
|
54
|
+
EXCEPTION_EXECUTE_FAULT = 8 # exception caused by an instruction fetch
|
|
55
55
|
|
|
56
|
-
CONTEXT_AMD64
|
|
56
|
+
CONTEXT_AMD64 = 0x00100000
|
|
57
57
|
|
|
58
|
-
CONTEXT_CONTROL
|
|
59
|
-
CONTEXT_INTEGER
|
|
60
|
-
CONTEXT_SEGMENTS
|
|
61
|
-
CONTEXT_FLOATING_POINT
|
|
62
|
-
CONTEXT_DEBUG_REGISTERS =
|
|
58
|
+
CONTEXT_CONTROL = CONTEXT_AMD64 | long(0x1)
|
|
59
|
+
CONTEXT_INTEGER = CONTEXT_AMD64 | long(0x2)
|
|
60
|
+
CONTEXT_SEGMENTS = CONTEXT_AMD64 | long(0x4)
|
|
61
|
+
CONTEXT_FLOATING_POINT = CONTEXT_AMD64 | long(0x8)
|
|
62
|
+
CONTEXT_DEBUG_REGISTERS = CONTEXT_AMD64 | long(0x10)
|
|
63
63
|
|
|
64
|
-
CONTEXT_MMX_REGISTERS
|
|
64
|
+
CONTEXT_MMX_REGISTERS = CONTEXT_FLOATING_POINT
|
|
65
65
|
|
|
66
|
-
CONTEXT_FULL =
|
|
66
|
+
CONTEXT_FULL = CONTEXT_CONTROL | CONTEXT_INTEGER | CONTEXT_FLOATING_POINT
|
|
67
67
|
|
|
68
|
-
CONTEXT_ALL =
|
|
69
|
-
CONTEXT_FLOATING_POINT | CONTEXT_DEBUG_REGISTERS)
|
|
68
|
+
CONTEXT_ALL = CONTEXT_CONTROL | CONTEXT_INTEGER | CONTEXT_SEGMENTS | CONTEXT_FLOATING_POINT | CONTEXT_DEBUG_REGISTERS
|
|
70
69
|
|
|
71
|
-
CONTEXT_EXCEPTION_ACTIVE
|
|
72
|
-
CONTEXT_SERVICE_ACTIVE
|
|
73
|
-
CONTEXT_EXCEPTION_REQUEST
|
|
70
|
+
CONTEXT_EXCEPTION_ACTIVE = 0x8000000
|
|
71
|
+
CONTEXT_SERVICE_ACTIVE = 0x10000000
|
|
72
|
+
CONTEXT_EXCEPTION_REQUEST = 0x40000000
|
|
74
73
|
CONTEXT_EXCEPTION_REPORTING = 0x80000000
|
|
75
74
|
|
|
76
|
-
INITIAL_MXCSR =
|
|
77
|
-
INITIAL_FPCSR =
|
|
75
|
+
INITIAL_MXCSR = 0x1F80 # initial MXCSR value
|
|
76
|
+
INITIAL_FPCSR = 0x027F # initial FPCSR value
|
|
77
|
+
|
|
78
78
|
|
|
79
79
|
# typedef struct _XMM_SAVE_AREA32 {
|
|
80
80
|
# WORD ControlWord;
|
|
@@ -97,22 +97,22 @@ INITIAL_FPCSR = 0x027f # initial FPCSR value
|
|
|
97
97
|
class XMM_SAVE_AREA32(Structure):
|
|
98
98
|
_pack_ = 1
|
|
99
99
|
_fields_ = [
|
|
100
|
-
(
|
|
101
|
-
(
|
|
102
|
-
(
|
|
103
|
-
(
|
|
104
|
-
(
|
|
105
|
-
(
|
|
106
|
-
(
|
|
107
|
-
(
|
|
108
|
-
(
|
|
109
|
-
(
|
|
110
|
-
(
|
|
111
|
-
(
|
|
112
|
-
(
|
|
113
|
-
(
|
|
114
|
-
(
|
|
115
|
-
(
|
|
100
|
+
("ControlWord", WORD),
|
|
101
|
+
("StatusWord", WORD),
|
|
102
|
+
("TagWord", BYTE),
|
|
103
|
+
("Reserved1", BYTE),
|
|
104
|
+
("ErrorOpcode", WORD),
|
|
105
|
+
("ErrorOffset", DWORD),
|
|
106
|
+
("ErrorSelector", WORD),
|
|
107
|
+
("Reserved2", WORD),
|
|
108
|
+
("DataOffset", DWORD),
|
|
109
|
+
("DataSelector", WORD),
|
|
110
|
+
("Reserved3", WORD),
|
|
111
|
+
("MxCsr", DWORD),
|
|
112
|
+
("MxCsr_Mask", DWORD),
|
|
113
|
+
("FloatRegisters", M128A * 8),
|
|
114
|
+
("XmmRegisters", M128A * 16),
|
|
115
|
+
("Reserved4", BYTE * 96),
|
|
116
116
|
]
|
|
117
117
|
|
|
118
118
|
def from_dict(self):
|
|
@@ -121,14 +121,15 @@ class XMM_SAVE_AREA32(Structure):
|
|
|
121
121
|
def to_dict(self):
|
|
122
122
|
d = dict()
|
|
123
123
|
for name, type in self._fields_:
|
|
124
|
-
if name in (
|
|
125
|
-
d[name] = tuple([
|
|
126
|
-
elif name ==
|
|
127
|
-
d[name] = tuple([
|
|
124
|
+
if name in ("FloatRegisters", "XmmRegisters"):
|
|
125
|
+
d[name] = tuple([(x.LowPart + (x.HighPart << 64)) for x in getattr(self, name)])
|
|
126
|
+
elif name == "Reserved4":
|
|
127
|
+
d[name] = tuple([chr(x) for x in getattr(self, name)])
|
|
128
128
|
else:
|
|
129
129
|
d[name] = getattr(self, name)
|
|
130
130
|
return d
|
|
131
131
|
|
|
132
|
+
|
|
132
133
|
LEGACY_SAVE_AREA_LENGTH = sizeof(XMM_SAVE_AREA32)
|
|
133
134
|
|
|
134
135
|
PXMM_SAVE_AREA32 = ctypes.POINTER(XMM_SAVE_AREA32)
|
|
@@ -286,26 +287,27 @@ LPXMM_SAVE_AREA32 = PXMM_SAVE_AREA32
|
|
|
286
287
|
# DWORD64 LastExceptionFromRip;
|
|
287
288
|
# } CONTEXT, *PCONTEXT;
|
|
288
289
|
|
|
290
|
+
|
|
289
291
|
class _CONTEXT_FLTSAVE_STRUCT(Structure):
|
|
290
292
|
_fields_ = [
|
|
291
|
-
(
|
|
292
|
-
(
|
|
293
|
-
(
|
|
294
|
-
(
|
|
295
|
-
(
|
|
296
|
-
(
|
|
297
|
-
(
|
|
298
|
-
(
|
|
299
|
-
(
|
|
300
|
-
(
|
|
301
|
-
(
|
|
302
|
-
(
|
|
303
|
-
(
|
|
304
|
-
(
|
|
305
|
-
(
|
|
306
|
-
(
|
|
307
|
-
(
|
|
308
|
-
(
|
|
293
|
+
("Header", M128A * 2),
|
|
294
|
+
("Legacy", M128A * 8),
|
|
295
|
+
("Xmm0", M128A),
|
|
296
|
+
("Xmm1", M128A),
|
|
297
|
+
("Xmm2", M128A),
|
|
298
|
+
("Xmm3", M128A),
|
|
299
|
+
("Xmm4", M128A),
|
|
300
|
+
("Xmm5", M128A),
|
|
301
|
+
("Xmm6", M128A),
|
|
302
|
+
("Xmm7", M128A),
|
|
303
|
+
("Xmm8", M128A),
|
|
304
|
+
("Xmm9", M128A),
|
|
305
|
+
("Xmm10", M128A),
|
|
306
|
+
("Xmm11", M128A),
|
|
307
|
+
("Xmm12", M128A),
|
|
308
|
+
("Xmm13", M128A),
|
|
309
|
+
("Xmm14", M128A),
|
|
310
|
+
("Xmm15", M128A),
|
|
309
311
|
]
|
|
310
312
|
|
|
311
313
|
def from_dict(self):
|
|
@@ -314,17 +316,18 @@ class _CONTEXT_FLTSAVE_STRUCT(Structure):
|
|
|
314
316
|
def to_dict(self):
|
|
315
317
|
d = dict()
|
|
316
318
|
for name, type in self._fields_:
|
|
317
|
-
if name in (
|
|
318
|
-
d[name] = tuple([
|
|
319
|
+
if name in ("Header", "Legacy"):
|
|
320
|
+
d[name] = tuple([(x.Low + (x.High << 64)) for x in getattr(self, name)])
|
|
319
321
|
else:
|
|
320
322
|
x = getattr(self, name)
|
|
321
323
|
d[name] = x.Low + (x.High << 64)
|
|
322
324
|
return d
|
|
323
325
|
|
|
326
|
+
|
|
324
327
|
class _CONTEXT_FLTSAVE_UNION(Union):
|
|
325
328
|
_fields_ = [
|
|
326
|
-
(
|
|
327
|
-
(
|
|
329
|
+
("flt", XMM_SAVE_AREA32),
|
|
330
|
+
("xmm", _CONTEXT_FLTSAVE_STRUCT),
|
|
328
331
|
]
|
|
329
332
|
|
|
330
333
|
def from_dict(self):
|
|
@@ -332,105 +335,121 @@ class _CONTEXT_FLTSAVE_UNION(Union):
|
|
|
332
335
|
|
|
333
336
|
def to_dict(self):
|
|
334
337
|
d = dict()
|
|
335
|
-
d[
|
|
336
|
-
d[
|
|
338
|
+
d["flt"] = self.flt.to_dict()
|
|
339
|
+
d["xmm"] = self.xmm.to_dict()
|
|
337
340
|
return d
|
|
338
341
|
|
|
342
|
+
|
|
339
343
|
class CONTEXT(Structure):
|
|
340
344
|
arch = ARCH_AMD64
|
|
341
345
|
|
|
342
346
|
_pack_ = 16
|
|
343
347
|
_fields_ = [
|
|
344
|
-
|
|
345
348
|
# Register parameter home addresses.
|
|
346
|
-
(
|
|
347
|
-
(
|
|
348
|
-
(
|
|
349
|
-
(
|
|
350
|
-
(
|
|
351
|
-
(
|
|
352
|
-
|
|
349
|
+
("P1Home", DWORD64),
|
|
350
|
+
("P2Home", DWORD64),
|
|
351
|
+
("P3Home", DWORD64),
|
|
352
|
+
("P4Home", DWORD64),
|
|
353
|
+
("P5Home", DWORD64),
|
|
354
|
+
("P6Home", DWORD64),
|
|
353
355
|
# Control flags.
|
|
354
|
-
(
|
|
355
|
-
(
|
|
356
|
-
|
|
356
|
+
("ContextFlags", DWORD),
|
|
357
|
+
("MxCsr", DWORD),
|
|
357
358
|
# Segment Registers and processor flags.
|
|
358
|
-
(
|
|
359
|
-
(
|
|
360
|
-
(
|
|
361
|
-
(
|
|
362
|
-
(
|
|
363
|
-
(
|
|
364
|
-
(
|
|
365
|
-
|
|
359
|
+
("SegCs", WORD),
|
|
360
|
+
("SegDs", WORD),
|
|
361
|
+
("SegEs", WORD),
|
|
362
|
+
("SegFs", WORD),
|
|
363
|
+
("SegGs", WORD),
|
|
364
|
+
("SegSs", WORD),
|
|
365
|
+
("EFlags", DWORD),
|
|
366
366
|
# Debug registers.
|
|
367
|
-
(
|
|
368
|
-
(
|
|
369
|
-
(
|
|
370
|
-
(
|
|
371
|
-
(
|
|
372
|
-
(
|
|
373
|
-
|
|
367
|
+
("Dr0", DWORD64),
|
|
368
|
+
("Dr1", DWORD64),
|
|
369
|
+
("Dr2", DWORD64),
|
|
370
|
+
("Dr3", DWORD64),
|
|
371
|
+
("Dr6", DWORD64),
|
|
372
|
+
("Dr7", DWORD64),
|
|
374
373
|
# Integer registers.
|
|
375
|
-
(
|
|
376
|
-
(
|
|
377
|
-
(
|
|
378
|
-
(
|
|
379
|
-
(
|
|
380
|
-
(
|
|
381
|
-
(
|
|
382
|
-
(
|
|
383
|
-
(
|
|
384
|
-
(
|
|
385
|
-
(
|
|
386
|
-
(
|
|
387
|
-
(
|
|
388
|
-
(
|
|
389
|
-
(
|
|
390
|
-
(
|
|
391
|
-
|
|
374
|
+
("Rax", DWORD64),
|
|
375
|
+
("Rcx", DWORD64),
|
|
376
|
+
("Rdx", DWORD64),
|
|
377
|
+
("Rbx", DWORD64),
|
|
378
|
+
("Rsp", DWORD64),
|
|
379
|
+
("Rbp", DWORD64),
|
|
380
|
+
("Rsi", DWORD64),
|
|
381
|
+
("Rdi", DWORD64),
|
|
382
|
+
("R8", DWORD64),
|
|
383
|
+
("R9", DWORD64),
|
|
384
|
+
("R10", DWORD64),
|
|
385
|
+
("R11", DWORD64),
|
|
386
|
+
("R12", DWORD64),
|
|
387
|
+
("R13", DWORD64),
|
|
388
|
+
("R14", DWORD64),
|
|
389
|
+
("R15", DWORD64),
|
|
392
390
|
# Program counter.
|
|
393
|
-
(
|
|
394
|
-
|
|
391
|
+
("Rip", DWORD64),
|
|
395
392
|
# Floating point state.
|
|
396
|
-
(
|
|
397
|
-
|
|
393
|
+
("FltSave", _CONTEXT_FLTSAVE_UNION),
|
|
398
394
|
# Vector registers.
|
|
399
|
-
(
|
|
400
|
-
(
|
|
401
|
-
|
|
395
|
+
("VectorRegister", M128A * 26),
|
|
396
|
+
("VectorControl", DWORD64),
|
|
402
397
|
# Special debug control registers.
|
|
403
|
-
(
|
|
404
|
-
(
|
|
405
|
-
(
|
|
406
|
-
(
|
|
407
|
-
(
|
|
398
|
+
("DebugControl", DWORD64),
|
|
399
|
+
("LastBranchToRip", DWORD64),
|
|
400
|
+
("LastBranchFromRip", DWORD64),
|
|
401
|
+
("LastExceptionToRip", DWORD64),
|
|
402
|
+
("LastExceptionFromRip", DWORD64),
|
|
408
403
|
]
|
|
409
404
|
|
|
410
|
-
_others = (
|
|
411
|
-
|
|
412
|
-
|
|
413
|
-
|
|
414
|
-
|
|
415
|
-
|
|
416
|
-
|
|
417
|
-
|
|
418
|
-
|
|
419
|
-
|
|
420
|
-
|
|
405
|
+
_others = ("P1Home", "P2Home", "P3Home", "P4Home", "P5Home", "P6Home", "MxCsr", "VectorRegister", "VectorControl")
|
|
406
|
+
_control = ("SegSs", "Rsp", "SegCs", "Rip", "EFlags")
|
|
407
|
+
_integer = ("Rax", "Rcx", "Rdx", "Rbx", "Rsp", "Rbp", "Rsi", "Rdi", "R8", "R9", "R10", "R11", "R12", "R13", "R14", "R15")
|
|
408
|
+
_segments = ("SegDs", "SegEs", "SegFs", "SegGs")
|
|
409
|
+
_debug = (
|
|
410
|
+
"Dr0",
|
|
411
|
+
"Dr1",
|
|
412
|
+
"Dr2",
|
|
413
|
+
"Dr3",
|
|
414
|
+
"Dr6",
|
|
415
|
+
"Dr7",
|
|
416
|
+
"DebugControl",
|
|
417
|
+
"LastBranchToRip",
|
|
418
|
+
"LastBranchFromRip",
|
|
419
|
+
"LastExceptionToRip",
|
|
420
|
+
"LastExceptionFromRip",
|
|
421
|
+
)
|
|
422
|
+
_mmx = (
|
|
423
|
+
"Xmm0",
|
|
424
|
+
"Xmm1",
|
|
425
|
+
"Xmm2",
|
|
426
|
+
"Xmm3",
|
|
427
|
+
"Xmm4",
|
|
428
|
+
"Xmm5",
|
|
429
|
+
"Xmm6",
|
|
430
|
+
"Xmm7",
|
|
431
|
+
"Xmm8",
|
|
432
|
+
"Xmm9",
|
|
433
|
+
"Xmm10",
|
|
434
|
+
"Xmm11",
|
|
435
|
+
"Xmm12",
|
|
436
|
+
"Xmm13",
|
|
437
|
+
"Xmm14",
|
|
438
|
+
"Xmm15",
|
|
439
|
+
)
|
|
421
440
|
|
|
422
441
|
# XXX TODO
|
|
423
442
|
# Convert VectorRegister and Xmm0-Xmm15 to pure Python types!
|
|
424
443
|
|
|
425
444
|
@classmethod
|
|
426
445
|
def from_dict(cls, ctx):
|
|
427
|
-
|
|
446
|
+
"Instance a new structure from a Python native type."
|
|
428
447
|
ctx = Context(ctx)
|
|
429
448
|
s = cls()
|
|
430
|
-
ContextFlags = ctx[
|
|
449
|
+
ContextFlags = ctx["ContextFlags"]
|
|
431
450
|
s.ContextFlags = ContextFlags
|
|
432
451
|
for key in cls._others:
|
|
433
|
-
if key !=
|
|
452
|
+
if key != "VectorRegister":
|
|
434
453
|
setattr(s, key, ctx[key])
|
|
435
454
|
else:
|
|
436
455
|
w = ctx[key]
|
|
@@ -465,15 +484,15 @@ class CONTEXT(Structure):
|
|
|
465
484
|
return s
|
|
466
485
|
|
|
467
486
|
def to_dict(self):
|
|
468
|
-
|
|
487
|
+
"Convert a structure into a Python dictionary."
|
|
469
488
|
ctx = Context()
|
|
470
489
|
ContextFlags = self.ContextFlags
|
|
471
|
-
ctx[
|
|
490
|
+
ctx["ContextFlags"] = ContextFlags
|
|
472
491
|
for key in self._others:
|
|
473
|
-
if key !=
|
|
492
|
+
if key != "VectorRegister":
|
|
474
493
|
ctx[key] = getattr(self, key)
|
|
475
494
|
else:
|
|
476
|
-
ctx[key] = tuple([
|
|
495
|
+
ctx[key] = tuple([(x.Low + (x.High << 64)) for x in getattr(self, key)])
|
|
477
496
|
if (ContextFlags & CONTEXT_CONTROL) == CONTEXT_CONTROL:
|
|
478
497
|
for key in self._control:
|
|
479
498
|
ctx[key] = getattr(self, key)
|
|
@@ -492,9 +511,11 @@ class CONTEXT(Structure):
|
|
|
492
511
|
ctx[key] = xmm.get(key)
|
|
493
512
|
return ctx
|
|
494
513
|
|
|
514
|
+
|
|
495
515
|
PCONTEXT = ctypes.POINTER(CONTEXT)
|
|
496
516
|
LPCONTEXT = PCONTEXT
|
|
497
517
|
|
|
518
|
+
|
|
498
519
|
class Context(dict):
|
|
499
520
|
"""
|
|
500
521
|
Register context dictionary for the amd64 architecture.
|
|
@@ -503,24 +524,31 @@ class Context(dict):
|
|
|
503
524
|
arch = CONTEXT.arch
|
|
504
525
|
|
|
505
526
|
def __get_pc(self):
|
|
506
|
-
return self[
|
|
527
|
+
return self["Rip"]
|
|
528
|
+
|
|
507
529
|
def __set_pc(self, value):
|
|
508
|
-
self[
|
|
530
|
+
self["Rip"] = value
|
|
531
|
+
|
|
509
532
|
pc = property(__get_pc, __set_pc)
|
|
510
533
|
|
|
511
534
|
def __get_sp(self):
|
|
512
|
-
return self[
|
|
535
|
+
return self["Rsp"]
|
|
536
|
+
|
|
513
537
|
def __set_sp(self, value):
|
|
514
|
-
self[
|
|
538
|
+
self["Rsp"] = value
|
|
539
|
+
|
|
515
540
|
sp = property(__get_sp, __set_sp)
|
|
516
541
|
|
|
517
542
|
def __get_fp(self):
|
|
518
|
-
return self[
|
|
543
|
+
return self["Rbp"]
|
|
544
|
+
|
|
519
545
|
def __set_fp(self, value):
|
|
520
|
-
self[
|
|
546
|
+
self["Rbp"] = value
|
|
547
|
+
|
|
521
548
|
fp = property(__get_fp, __set_fp)
|
|
522
549
|
|
|
523
|
-
|
|
550
|
+
|
|
551
|
+
# --- LDT_ENTRY structure ------------------------------------------------------
|
|
524
552
|
|
|
525
553
|
# typedef struct _LDT_ENTRY {
|
|
526
554
|
# WORD LimitLow;
|
|
@@ -548,49 +576,54 @@ class Context(dict):
|
|
|
548
576
|
# } LDT_ENTRY,
|
|
549
577
|
# *PLDT_ENTRY;
|
|
550
578
|
|
|
579
|
+
|
|
551
580
|
class _LDT_ENTRY_BYTES_(Structure):
|
|
552
581
|
_pack_ = 1
|
|
553
582
|
_fields_ = [
|
|
554
|
-
(
|
|
555
|
-
(
|
|
556
|
-
(
|
|
557
|
-
(
|
|
583
|
+
("BaseMid", BYTE),
|
|
584
|
+
("Flags1", BYTE),
|
|
585
|
+
("Flags2", BYTE),
|
|
586
|
+
("BaseHi", BYTE),
|
|
558
587
|
]
|
|
559
588
|
|
|
589
|
+
|
|
560
590
|
class _LDT_ENTRY_BITS_(Structure):
|
|
561
591
|
_pack_ = 1
|
|
562
592
|
_fields_ = [
|
|
563
|
-
(
|
|
564
|
-
(
|
|
565
|
-
(
|
|
566
|
-
(
|
|
567
|
-
(
|
|
568
|
-
(
|
|
569
|
-
(
|
|
570
|
-
(
|
|
571
|
-
(
|
|
572
|
-
(
|
|
593
|
+
("BaseMid", DWORD, 8),
|
|
594
|
+
("Type", DWORD, 5),
|
|
595
|
+
("Dpl", DWORD, 2),
|
|
596
|
+
("Pres", DWORD, 1),
|
|
597
|
+
("LimitHi", DWORD, 4),
|
|
598
|
+
("Sys", DWORD, 1),
|
|
599
|
+
("Reserved_0", DWORD, 1),
|
|
600
|
+
("Default_Big", DWORD, 1),
|
|
601
|
+
("Granularity", DWORD, 1),
|
|
602
|
+
("BaseHi", DWORD, 8),
|
|
573
603
|
]
|
|
574
604
|
|
|
605
|
+
|
|
575
606
|
class _LDT_ENTRY_HIGHWORD_(Union):
|
|
576
607
|
_pack_ = 1
|
|
577
608
|
_fields_ = [
|
|
578
|
-
(
|
|
579
|
-
(
|
|
609
|
+
("Bytes", _LDT_ENTRY_BYTES_),
|
|
610
|
+
("Bits", _LDT_ENTRY_BITS_),
|
|
580
611
|
]
|
|
581
612
|
|
|
613
|
+
|
|
582
614
|
class LDT_ENTRY(Structure):
|
|
583
615
|
_pack_ = 1
|
|
584
616
|
_fields_ = [
|
|
585
|
-
(
|
|
586
|
-
(
|
|
587
|
-
(
|
|
617
|
+
("LimitLow", WORD),
|
|
618
|
+
("BaseLow", WORD),
|
|
619
|
+
("HighWord", _LDT_ENTRY_HIGHWORD_),
|
|
588
620
|
]
|
|
589
621
|
|
|
622
|
+
|
|
590
623
|
PLDT_ENTRY = POINTER(LDT_ENTRY)
|
|
591
624
|
LPLDT_ENTRY = PLDT_ENTRY
|
|
592
625
|
|
|
593
|
-
|
|
626
|
+
# --- WOW64 CONTEXT structure and constants ------------------------------------
|
|
594
627
|
|
|
595
628
|
# Value of SegCs in a Wow64 thread when running in 32 bits mode
|
|
596
629
|
WOW64_CS32 = 0x23
|
|
@@ -598,34 +631,46 @@ WOW64_CS32 = 0x23
|
|
|
598
631
|
WOW64_CONTEXT_i386 = long(0x00010000)
|
|
599
632
|
WOW64_CONTEXT_i486 = long(0x00010000)
|
|
600
633
|
|
|
601
|
-
WOW64_CONTEXT_CONTROL
|
|
602
|
-
WOW64_CONTEXT_INTEGER
|
|
603
|
-
WOW64_CONTEXT_SEGMENTS
|
|
604
|
-
WOW64_CONTEXT_FLOATING_POINT
|
|
605
|
-
WOW64_CONTEXT_DEBUG_REGISTERS
|
|
606
|
-
WOW64_CONTEXT_EXTENDED_REGISTERS
|
|
634
|
+
WOW64_CONTEXT_CONTROL = WOW64_CONTEXT_i386 | long(0x00000001)
|
|
635
|
+
WOW64_CONTEXT_INTEGER = WOW64_CONTEXT_i386 | long(0x00000002)
|
|
636
|
+
WOW64_CONTEXT_SEGMENTS = WOW64_CONTEXT_i386 | long(0x00000004)
|
|
637
|
+
WOW64_CONTEXT_FLOATING_POINT = WOW64_CONTEXT_i386 | long(0x00000008)
|
|
638
|
+
WOW64_CONTEXT_DEBUG_REGISTERS = WOW64_CONTEXT_i386 | long(0x00000010)
|
|
639
|
+
WOW64_CONTEXT_EXTENDED_REGISTERS = WOW64_CONTEXT_i386 | long(0x00000020)
|
|
640
|
+
|
|
641
|
+
WOW64_CONTEXT_FULL = WOW64_CONTEXT_CONTROL | WOW64_CONTEXT_INTEGER | WOW64_CONTEXT_SEGMENTS
|
|
642
|
+
WOW64_CONTEXT_ALL = (
|
|
643
|
+
WOW64_CONTEXT_CONTROL
|
|
644
|
+
| WOW64_CONTEXT_INTEGER
|
|
645
|
+
| WOW64_CONTEXT_SEGMENTS
|
|
646
|
+
| WOW64_CONTEXT_FLOATING_POINT
|
|
647
|
+
| WOW64_CONTEXT_DEBUG_REGISTERS
|
|
648
|
+
| WOW64_CONTEXT_EXTENDED_REGISTERS
|
|
649
|
+
)
|
|
607
650
|
|
|
608
|
-
|
|
609
|
-
|
|
651
|
+
WOW64_SIZE_OF_80387_REGISTERS = 80
|
|
652
|
+
WOW64_MAXIMUM_SUPPORTED_EXTENSION = 512
|
|
610
653
|
|
|
611
|
-
WOW64_SIZE_OF_80387_REGISTERS = 80
|
|
612
|
-
WOW64_MAXIMUM_SUPPORTED_EXTENSION = 512
|
|
613
654
|
|
|
614
|
-
class WOW64_FLOATING_SAVE_AREA
|
|
655
|
+
class WOW64_FLOATING_SAVE_AREA(context_i386.FLOATING_SAVE_AREA):
|
|
615
656
|
pass
|
|
616
657
|
|
|
617
|
-
|
|
658
|
+
|
|
659
|
+
class WOW64_CONTEXT(context_i386.CONTEXT):
|
|
618
660
|
pass
|
|
619
661
|
|
|
620
|
-
|
|
662
|
+
|
|
663
|
+
class WOW64_LDT_ENTRY(context_i386.LDT_ENTRY):
|
|
621
664
|
pass
|
|
622
665
|
|
|
623
|
-
|
|
624
|
-
|
|
625
|
-
|
|
666
|
+
|
|
667
|
+
PWOW64_FLOATING_SAVE_AREA = POINTER(WOW64_FLOATING_SAVE_AREA)
|
|
668
|
+
PWOW64_CONTEXT = POINTER(WOW64_CONTEXT)
|
|
669
|
+
PWOW64_LDT_ENTRY = POINTER(WOW64_LDT_ENTRY)
|
|
626
670
|
|
|
627
671
|
###############################################################################
|
|
628
672
|
|
|
673
|
+
|
|
629
674
|
# BOOL WINAPI GetThreadSelectorEntry(
|
|
630
675
|
# __in HANDLE hThread,
|
|
631
676
|
# __in DWORD dwSelector,
|
|
@@ -634,21 +679,22 @@ PWOW64_LDT_ENTRY = POINTER(WOW64_LDT_ENTRY)
|
|
|
634
679
|
def GetThreadSelectorEntry(hThread, dwSelector):
|
|
635
680
|
_GetThreadSelectorEntry = windll.kernel32.GetThreadSelectorEntry
|
|
636
681
|
_GetThreadSelectorEntry.argtypes = [HANDLE, DWORD, LPLDT_ENTRY]
|
|
637
|
-
_GetThreadSelectorEntry.restype
|
|
682
|
+
_GetThreadSelectorEntry.restype = bool
|
|
638
683
|
_GetThreadSelectorEntry.errcheck = RaiseIfZero
|
|
639
684
|
|
|
640
685
|
ldt = LDT_ENTRY()
|
|
641
686
|
_GetThreadSelectorEntry(hThread, dwSelector, byref(ldt))
|
|
642
687
|
return ldt
|
|
643
688
|
|
|
689
|
+
|
|
644
690
|
# BOOL WINAPI GetThreadContext(
|
|
645
691
|
# __in HANDLE hThread,
|
|
646
692
|
# __inout LPCONTEXT lpContext
|
|
647
693
|
# );
|
|
648
|
-
def GetThreadContext(hThread, ContextFlags
|
|
694
|
+
def GetThreadContext(hThread, ContextFlags=None, raw=False):
|
|
649
695
|
_GetThreadContext = windll.kernel32.GetThreadContext
|
|
650
696
|
_GetThreadContext.argtypes = [HANDLE, LPCONTEXT]
|
|
651
|
-
_GetThreadContext.restype
|
|
697
|
+
_GetThreadContext.restype = bool
|
|
652
698
|
_GetThreadContext.errcheck = RaiseIfZero
|
|
653
699
|
|
|
654
700
|
if ContextFlags is None:
|
|
@@ -660,6 +706,7 @@ def GetThreadContext(hThread, ContextFlags = None, raw = False):
|
|
|
660
706
|
return Context
|
|
661
707
|
return Context.to_dict()
|
|
662
708
|
|
|
709
|
+
|
|
663
710
|
# BOOL WINAPI SetThreadContext(
|
|
664
711
|
# __in HANDLE hThread,
|
|
665
712
|
# __in const CONTEXT* lpContext
|
|
@@ -667,13 +714,14 @@ def GetThreadContext(hThread, ContextFlags = None, raw = False):
|
|
|
667
714
|
def SetThreadContext(hThread, lpContext):
|
|
668
715
|
_SetThreadContext = windll.kernel32.SetThreadContext
|
|
669
716
|
_SetThreadContext.argtypes = [HANDLE, LPCONTEXT]
|
|
670
|
-
_SetThreadContext.restype
|
|
717
|
+
_SetThreadContext.restype = bool
|
|
671
718
|
_SetThreadContext.errcheck = RaiseIfZero
|
|
672
719
|
|
|
673
720
|
if isinstance(lpContext, dict):
|
|
674
721
|
lpContext = CONTEXT.from_dict(lpContext)
|
|
675
722
|
_SetThreadContext(hThread, byref(lpContext))
|
|
676
723
|
|
|
724
|
+
|
|
677
725
|
# BOOL Wow64GetThreadSelectorEntry(
|
|
678
726
|
# __in HANDLE hThread,
|
|
679
727
|
# __in DWORD dwSelector,
|
|
@@ -682,50 +730,54 @@ def SetThreadContext(hThread, lpContext):
|
|
|
682
730
|
def Wow64GetThreadSelectorEntry(hThread, dwSelector):
|
|
683
731
|
_Wow64GetThreadSelectorEntry = windll.kernel32.Wow64GetThreadSelectorEntry
|
|
684
732
|
_Wow64GetThreadSelectorEntry.argtypes = [HANDLE, DWORD, PWOW64_LDT_ENTRY]
|
|
685
|
-
_Wow64GetThreadSelectorEntry.restype
|
|
733
|
+
_Wow64GetThreadSelectorEntry.restype = bool
|
|
686
734
|
_Wow64GetThreadSelectorEntry.errcheck = RaiseIfZero
|
|
687
735
|
|
|
688
736
|
lpSelectorEntry = WOW64_LDT_ENTRY()
|
|
689
737
|
_Wow64GetThreadSelectorEntry(hThread, dwSelector, byref(lpSelectorEntry))
|
|
690
738
|
return lpSelectorEntry
|
|
691
739
|
|
|
740
|
+
|
|
692
741
|
# DWORD WINAPI Wow64ResumeThread(
|
|
693
742
|
# __in HANDLE hThread
|
|
694
743
|
# );
|
|
695
744
|
def Wow64ResumeThread(hThread):
|
|
696
745
|
_Wow64ResumeThread = windll.kernel32.Wow64ResumeThread
|
|
697
746
|
_Wow64ResumeThread.argtypes = [HANDLE]
|
|
698
|
-
_Wow64ResumeThread.restype
|
|
747
|
+
_Wow64ResumeThread.restype = DWORD
|
|
699
748
|
|
|
700
749
|
previousCount = _Wow64ResumeThread(hThread)
|
|
701
750
|
if previousCount == DWORD(-1).value:
|
|
702
751
|
raise ctypes.WinError()
|
|
703
752
|
return previousCount
|
|
704
753
|
|
|
754
|
+
|
|
705
755
|
# DWORD WINAPI Wow64SuspendThread(
|
|
706
756
|
# __in HANDLE hThread
|
|
707
757
|
# );
|
|
708
758
|
def Wow64SuspendThread(hThread):
|
|
709
759
|
_Wow64SuspendThread = windll.kernel32.Wow64SuspendThread
|
|
710
760
|
_Wow64SuspendThread.argtypes = [HANDLE]
|
|
711
|
-
_Wow64SuspendThread.restype
|
|
761
|
+
_Wow64SuspendThread.restype = DWORD
|
|
712
762
|
|
|
713
763
|
previousCount = _Wow64SuspendThread(hThread)
|
|
714
764
|
if previousCount == DWORD(-1).value:
|
|
715
765
|
raise ctypes.WinError()
|
|
716
766
|
return previousCount
|
|
717
767
|
|
|
768
|
+
|
|
718
769
|
# XXX TODO Use this http://www.nynaeve.net/Code/GetThreadWow64Context.cpp
|
|
719
770
|
# Also see http://www.woodmann.com/forum/archive/index.php/t-11162.html
|
|
720
771
|
|
|
772
|
+
|
|
721
773
|
# BOOL WINAPI Wow64GetThreadContext(
|
|
722
774
|
# __in HANDLE hThread,
|
|
723
775
|
# __inout PWOW64_CONTEXT lpContext
|
|
724
776
|
# );
|
|
725
|
-
def Wow64GetThreadContext(hThread, ContextFlags
|
|
777
|
+
def Wow64GetThreadContext(hThread, ContextFlags=None):
|
|
726
778
|
_Wow64GetThreadContext = windll.kernel32.Wow64GetThreadContext
|
|
727
779
|
_Wow64GetThreadContext.argtypes = [HANDLE, PWOW64_CONTEXT]
|
|
728
|
-
_Wow64GetThreadContext.restype
|
|
780
|
+
_Wow64GetThreadContext.restype = bool
|
|
729
781
|
_Wow64GetThreadContext.errcheck = RaiseIfZero
|
|
730
782
|
|
|
731
783
|
# XXX doesn't exist in XP 64 bits
|
|
@@ -738,6 +790,7 @@ def Wow64GetThreadContext(hThread, ContextFlags = None):
|
|
|
738
790
|
_Wow64GetThreadContext(hThread, byref(Context))
|
|
739
791
|
return Context.to_dict()
|
|
740
792
|
|
|
793
|
+
|
|
741
794
|
# BOOL WINAPI Wow64SetThreadContext(
|
|
742
795
|
# __in HANDLE hThread,
|
|
743
796
|
# __in const WOW64_CONTEXT *lpContext
|
|
@@ -745,7 +798,7 @@ def Wow64GetThreadContext(hThread, ContextFlags = None):
|
|
|
745
798
|
def Wow64SetThreadContext(hThread, lpContext):
|
|
746
799
|
_Wow64SetThreadContext = windll.kernel32.Wow64SetThreadContext
|
|
747
800
|
_Wow64SetThreadContext.argtypes = [HANDLE, PWOW64_CONTEXT]
|
|
748
|
-
_Wow64SetThreadContext.restype
|
|
801
|
+
_Wow64SetThreadContext.restype = bool
|
|
749
802
|
_Wow64SetThreadContext.errcheck = RaiseIfZero
|
|
750
803
|
|
|
751
804
|
# XXX doesn't exist in XP 64 bits
|
|
@@ -754,9 +807,10 @@ def Wow64SetThreadContext(hThread, lpContext):
|
|
|
754
807
|
lpContext = WOW64_CONTEXT.from_dict(lpContext)
|
|
755
808
|
_Wow64SetThreadContext(hThread, byref(lpContext))
|
|
756
809
|
|
|
757
|
-
|
|
810
|
+
|
|
811
|
+
# ==============================================================================
|
|
758
812
|
# This calculates the list of exported symbols.
|
|
759
813
|
_all = set(vars().keys()).difference(_all)
|
|
760
|
-
__all__ = [_x for _x in _all if not _x.startswith(
|
|
814
|
+
__all__ = [_x for _x in _all if not _x.startswith("_")]
|
|
761
815
|
__all__.sort()
|
|
762
|
-
|
|
816
|
+
# ==============================================================================
|