debugpy 1.8.7__zip → 1.8.9__zip

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