debugpy 1.8.3__zip → 1.8.6__zip

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (347) hide show
  1. {debugpy-1.8.3/src/debugpy.egg-info → debugpy-1.8.6}/PKG-INFO +1 -1
  2. {debugpy-1.8.3 → debugpy-1.8.6}/src/debugpy/_vendored/pydevd/_pydev_bundle/_pydev_calltip_util.py +19 -21
  3. {debugpy-1.8.3 → debugpy-1.8.6}/src/debugpy/_vendored/pydevd/_pydev_bundle/_pydev_completer.py +30 -30
  4. {debugpy-1.8.3 → debugpy-1.8.6}/src/debugpy/_vendored/pydevd/_pydev_bundle/_pydev_execfile.py +3 -1
  5. debugpy-1.8.6/src/debugpy/_vendored/pydevd/_pydev_bundle/_pydev_filesystem_encoding.py +43 -0
  6. {debugpy-1.8.3 → debugpy-1.8.6}/src/debugpy/_vendored/pydevd/_pydev_bundle/_pydev_getopt.py +35 -32
  7. {debugpy-1.8.3 → debugpy-1.8.6}/src/debugpy/_vendored/pydevd/_pydev_bundle/_pydev_imports_tipper.py +83 -84
  8. {debugpy-1.8.3 → debugpy-1.8.6}/src/debugpy/_vendored/pydevd/_pydev_bundle/_pydev_jy_imports_tipper.py +92 -99
  9. {debugpy-1.8.3 → debugpy-1.8.6}/src/debugpy/_vendored/pydevd/_pydev_bundle/_pydev_log.py +2 -3
  10. {debugpy-1.8.3 → debugpy-1.8.6}/src/debugpy/_vendored/pydevd/_pydev_bundle/_pydev_saved_modules.py +51 -27
  11. {debugpy-1.8.3 → debugpy-1.8.6}/src/debugpy/_vendored/pydevd/_pydev_bundle/_pydev_sys_patch.py +11 -7
  12. {debugpy-1.8.3 → debugpy-1.8.6}/src/debugpy/_vendored/pydevd/_pydev_bundle/_pydev_tipper_common.py +6 -5
  13. {debugpy-1.8.3 → debugpy-1.8.6}/src/debugpy/_vendored/pydevd/_pydev_bundle/fsnotify/__init__.py +34 -38
  14. {debugpy-1.8.3 → debugpy-1.8.6}/src/debugpy/_vendored/pydevd/_pydev_bundle/pydev_console_utils.py +71 -69
  15. {debugpy-1.8.3 → debugpy-1.8.6}/src/debugpy/_vendored/pydevd/_pydev_bundle/pydev_import_hook.py +1 -3
  16. {debugpy-1.8.3 → debugpy-1.8.6}/src/debugpy/_vendored/pydevd/_pydev_bundle/pydev_imports.py +0 -1
  17. {debugpy-1.8.3 → debugpy-1.8.6}/src/debugpy/_vendored/pydevd/_pydev_bundle/pydev_ipython_console.py +14 -16
  18. {debugpy-1.8.3 → debugpy-1.8.6}/src/debugpy/_vendored/pydevd/_pydev_bundle/pydev_ipython_console_011.py +81 -93
  19. {debugpy-1.8.3 → debugpy-1.8.6}/src/debugpy/_vendored/pydevd/_pydev_bundle/pydev_is_thread_alive.py +3 -3
  20. {debugpy-1.8.3 → debugpy-1.8.6}/src/debugpy/_vendored/pydevd/_pydev_bundle/pydev_localhost.py +9 -8
  21. {debugpy-1.8.3 → debugpy-1.8.6}/src/debugpy/_vendored/pydevd/_pydev_bundle/pydev_log.py +33 -25
  22. {debugpy-1.8.3 → debugpy-1.8.6}/src/debugpy/_vendored/pydevd/_pydev_bundle/pydev_monkey.py +183 -170
  23. {debugpy-1.8.3 → debugpy-1.8.6}/src/debugpy/_vendored/pydevd/_pydev_bundle/pydev_monkey_qt.py +33 -29
  24. {debugpy-1.8.3 → debugpy-1.8.6}/src/debugpy/_vendored/pydevd/_pydev_bundle/pydev_override.py +6 -4
  25. {debugpy-1.8.3 → debugpy-1.8.6}/src/debugpy/_vendored/pydevd/_pydev_bundle/pydev_umd.py +19 -18
  26. {debugpy-1.8.3 → debugpy-1.8.6}/src/debugpy/_vendored/pydevd/_pydev_bundle/pydev_versioncheck.py +3 -3
  27. {debugpy-1.8.3 → debugpy-1.8.6}/src/debugpy/_vendored/pydevd/_pydev_runfiles/pydev_runfiles.py +165 -138
  28. debugpy-1.8.6/src/debugpy/_vendored/pydevd/_pydev_runfiles/pydev_runfiles_coverage.py +77 -0
  29. {debugpy-1.8.3 → debugpy-1.8.6}/src/debugpy/_vendored/pydevd/_pydev_runfiles/pydev_runfiles_nose.py +35 -36
  30. {debugpy-1.8.3 → debugpy-1.8.6}/src/debugpy/_vendored/pydevd/_pydev_runfiles/pydev_runfiles_parallel.py +22 -23
  31. {debugpy-1.8.3 → debugpy-1.8.6}/src/debugpy/_vendored/pydevd/_pydev_runfiles/pydev_runfiles_parallel_client.py +37 -57
  32. {debugpy-1.8.3 → debugpy-1.8.6}/src/debugpy/_vendored/pydevd/_pydev_runfiles/pydev_runfiles_pytest2.py +54 -52
  33. {debugpy-1.8.3 → debugpy-1.8.6}/src/debugpy/_vendored/pydevd/_pydev_runfiles/pydev_runfiles_unittest.py +28 -37
  34. {debugpy-1.8.3 → debugpy-1.8.6}/src/debugpy/_vendored/pydevd/_pydev_runfiles/pydev_runfiles_xml_rpc.py +56 -53
  35. debugpy-1.8.6/src/debugpy/_vendored/pydevd/_pydevd_bundle/_debug_adapter/__main__pydevd_gen_debug_adapter_protocol.py +604 -0
  36. {debugpy-1.8.3 → debugpy-1.8.6}/src/debugpy/_vendored/pydevd/_pydevd_bundle/_debug_adapter/debugProtocol.json +551 -445
  37. {debugpy-1.8.3 → debugpy-1.8.6}/src/debugpy/_vendored/pydevd/_pydevd_bundle/_debug_adapter/pydevd_base_schema.py +25 -29
  38. debugpy-1.8.6/src/debugpy/_vendored/pydevd/_pydevd_bundle/_debug_adapter/pydevd_schema.py +17458 -0
  39. {debugpy-1.8.3 → debugpy-1.8.6}/src/debugpy/_vendored/pydevd/_pydevd_bundle/_debug_adapter/pydevd_schema_log.py +11 -12
  40. {debugpy-1.8.3 → debugpy-1.8.6}/src/debugpy/_vendored/pydevd/_pydevd_bundle/pydevconsole_code.py +18 -19
  41. debugpy-1.8.6/src/debugpy/_vendored/pydevd/_pydevd_bundle/pydevd_additional_thread_info.py +41 -0
  42. debugpy-1.8.6/src/debugpy/_vendored/pydevd/_pydevd_bundle/pydevd_additional_thread_info_regular.py +327 -0
  43. {debugpy-1.8.3 → debugpy-1.8.6}/src/debugpy/_vendored/pydevd/_pydevd_bundle/pydevd_api.py +263 -214
  44. {debugpy-1.8.3 → debugpy-1.8.6}/src/debugpy/_vendored/pydevd/_pydevd_bundle/pydevd_breakpoints.py +7 -10
  45. {debugpy-1.8.3 → debugpy-1.8.6}/src/debugpy/_vendored/pydevd/_pydevd_bundle/pydevd_bytecode_utils.py +187 -92
  46. debugpy-1.8.6/src/debugpy/_vendored/pydevd/_pydevd_bundle/pydevd_bytecode_utils_py311.py +105 -0
  47. {debugpy-1.8.3 → debugpy-1.8.6}/src/debugpy/_vendored/pydevd/_pydevd_bundle/pydevd_code_to_source.py +46 -51
  48. {debugpy-1.8.3 → debugpy-1.8.6}/src/debugpy/_vendored/pydevd/_pydevd_bundle/pydevd_collect_bytecode_info.py +239 -176
  49. {debugpy-1.8.3 → debugpy-1.8.6}/src/debugpy/_vendored/pydevd/_pydevd_bundle/pydevd_comm.py +370 -297
  50. {debugpy-1.8.3 → debugpy-1.8.6}/src/debugpy/_vendored/pydevd/_pydevd_bundle/pydevd_comm_constants.py +78 -86
  51. {debugpy-1.8.3 → debugpy-1.8.6}/src/debugpy/_vendored/pydevd/_pydevd_bundle/pydevd_command_line_handling.py +55 -59
  52. {debugpy-1.8.3 → debugpy-1.8.6}/src/debugpy/_vendored/pydevd/_pydevd_bundle/pydevd_concurrency_analyser/pydevd_concurrency_logger.py +194 -58
  53. {debugpy-1.8.3 → debugpy-1.8.6}/src/debugpy/_vendored/pydevd/_pydevd_bundle/pydevd_concurrency_analyser/pydevd_thread_wrappers.py +2 -3
  54. {debugpy-1.8.3 → debugpy-1.8.6}/src/debugpy/_vendored/pydevd/_pydevd_bundle/pydevd_console.py +18 -23
  55. {debugpy-1.8.3 → debugpy-1.8.6}/src/debugpy/_vendored/pydevd/_pydevd_bundle/pydevd_constants.py +157 -127
  56. {debugpy-1.8.3 → debugpy-1.8.6}/src/debugpy/_vendored/pydevd/_pydevd_bundle/pydevd_custom_frames.py +10 -12
  57. {debugpy-1.8.3 → debugpy-1.8.6}/src/debugpy/_vendored/pydevd/_pydevd_bundle/pydevd_cython.c +35217 -23106
  58. {debugpy-1.8.3 → debugpy-1.8.6}/src/debugpy/_vendored/pydevd/_pydevd_bundle/pydevd_cython.pxd +15 -0
  59. {debugpy-1.8.3 → debugpy-1.8.6}/src/debugpy/_vendored/pydevd/_pydevd_bundle/pydevd_cython.pyx +802 -511
  60. {debugpy-1.8.3 → debugpy-1.8.6}/src/debugpy/_vendored/pydevd/_pydevd_bundle/pydevd_cython_wrapper.py +18 -7
  61. {debugpy-1.8.3 → debugpy-1.8.6}/src/debugpy/_vendored/pydevd/_pydevd_bundle/pydevd_daemon_thread.py +32 -24
  62. {debugpy-1.8.3 → debugpy-1.8.6}/src/debugpy/_vendored/pydevd/_pydevd_bundle/pydevd_defaults.py +11 -13
  63. {debugpy-1.8.3 → debugpy-1.8.6}/src/debugpy/_vendored/pydevd/_pydevd_bundle/pydevd_dont_trace.py +16 -16
  64. {debugpy-1.8.3 → debugpy-1.8.6}/src/debugpy/_vendored/pydevd/_pydevd_bundle/pydevd_dont_trace_files.py +27 -2
  65. {debugpy-1.8.3 → debugpy-1.8.6}/src/debugpy/_vendored/pydevd/_pydevd_bundle/pydevd_exec2.py +1 -1
  66. {debugpy-1.8.3 → debugpy-1.8.6}/src/debugpy/_vendored/pydevd/_pydevd_bundle/pydevd_extension_api.py +4 -5
  67. {debugpy-1.8.3 → debugpy-1.8.6}/src/debugpy/_vendored/pydevd/_pydevd_bundle/pydevd_extension_utils.py +8 -10
  68. {debugpy-1.8.3 → debugpy-1.8.6}/src/debugpy/_vendored/pydevd/_pydevd_bundle/pydevd_filtering.py +50 -45
  69. {debugpy-1.8.3 → debugpy-1.8.6}/src/debugpy/_vendored/pydevd/_pydevd_bundle/pydevd_frame.py +462 -407
  70. {debugpy-1.8.3 → debugpy-1.8.6}/src/debugpy/_vendored/pydevd/_pydevd_bundle/pydevd_frame_utils.py +63 -61
  71. {debugpy-1.8.3 → debugpy-1.8.6}/src/debugpy/_vendored/pydevd/_pydevd_bundle/pydevd_gevent_integration.py +14 -16
  72. {debugpy-1.8.3 → debugpy-1.8.6}/src/debugpy/_vendored/pydevd/_pydevd_bundle/pydevd_import_class.py +27 -25
  73. {debugpy-1.8.3 → debugpy-1.8.6}/src/debugpy/_vendored/pydevd/_pydevd_bundle/pydevd_io.py +40 -42
  74. debugpy-1.8.6/src/debugpy/_vendored/pydevd/_pydevd_bundle/pydevd_json_debug_options.py +200 -0
  75. {debugpy-1.8.3 → debugpy-1.8.6}/src/debugpy/_vendored/pydevd/_pydevd_bundle/pydevd_net_command.py +20 -19
  76. {debugpy-1.8.3 → debugpy-1.8.6}/src/debugpy/_vendored/pydevd/_pydevd_bundle/pydevd_net_command_factory_json.py +199 -108
  77. {debugpy-1.8.3 → debugpy-1.8.6}/src/debugpy/_vendored/pydevd/_pydevd_bundle/pydevd_net_command_factory_xml.py +121 -73
  78. debugpy-1.8.6/src/debugpy/_vendored/pydevd/_pydevd_bundle/pydevd_plugin_utils.py +208 -0
  79. {debugpy-1.8.3 → debugpy-1.8.6}/src/debugpy/_vendored/pydevd/_pydevd_bundle/pydevd_process_net_command.py +206 -159
  80. {debugpy-1.8.3 → debugpy-1.8.6}/src/debugpy/_vendored/pydevd/_pydevd_bundle/pydevd_process_net_command_json.py +346 -334
  81. {debugpy-1.8.3 → debugpy-1.8.6}/src/debugpy/_vendored/pydevd/_pydevd_bundle/pydevd_referrers.py +75 -80
  82. {debugpy-1.8.3 → debugpy-1.8.6}/src/debugpy/_vendored/pydevd/_pydevd_bundle/pydevd_reload.py +35 -35
  83. {debugpy-1.8.3 → debugpy-1.8.6}/src/debugpy/_vendored/pydevd/_pydevd_bundle/pydevd_resolver.py +116 -124
  84. {debugpy-1.8.3 → debugpy-1.8.6}/src/debugpy/_vendored/pydevd/_pydevd_bundle/pydevd_runpy.py +44 -58
  85. {debugpy-1.8.3 → debugpy-1.8.6}/src/debugpy/_vendored/pydevd/_pydevd_bundle/pydevd_safe_repr.py +51 -55
  86. {debugpy-1.8.3 → debugpy-1.8.6}/src/debugpy/_vendored/pydevd/_pydevd_bundle/pydevd_save_locals.py +4 -2
  87. {debugpy-1.8.3 → debugpy-1.8.6}/src/debugpy/_vendored/pydevd/_pydevd_bundle/pydevd_signature.py +24 -24
  88. {debugpy-1.8.3 → debugpy-1.8.6}/src/debugpy/_vendored/pydevd/_pydevd_bundle/pydevd_source_mapping.py +19 -20
  89. {debugpy-1.8.3 → debugpy-1.8.6}/src/debugpy/_vendored/pydevd/_pydevd_bundle/pydevd_stackless.py +45 -49
  90. {debugpy-1.8.3 → debugpy-1.8.6}/src/debugpy/_vendored/pydevd/_pydevd_bundle/pydevd_suspended_frames.py +61 -58
  91. {debugpy-1.8.3 → debugpy-1.8.6}/src/debugpy/_vendored/pydevd/_pydevd_bundle/pydevd_thread_lifecycle.py +23 -13
  92. {debugpy-1.8.3 → debugpy-1.8.6}/src/debugpy/_vendored/pydevd/_pydevd_bundle/pydevd_timeout.py +29 -31
  93. {debugpy-1.8.3 → debugpy-1.8.6}/src/debugpy/_vendored/pydevd/_pydevd_bundle/pydevd_trace_dispatch.py +41 -11
  94. {debugpy-1.8.3 → debugpy-1.8.6}/src/debugpy/_vendored/pydevd/_pydevd_bundle/pydevd_trace_dispatch_regular.py +117 -55
  95. {debugpy-1.8.3 → debugpy-1.8.6}/src/debugpy/_vendored/pydevd/_pydevd_bundle/pydevd_traceproperty.py +11 -14
  96. {debugpy-1.8.3 → debugpy-1.8.6}/src/debugpy/_vendored/pydevd/_pydevd_bundle/pydevd_utils.py +90 -89
  97. {debugpy-1.8.3 → debugpy-1.8.6}/src/debugpy/_vendored/pydevd/_pydevd_bundle/pydevd_vars.py +106 -97
  98. debugpy-1.8.6/src/debugpy/_vendored/pydevd/_pydevd_bundle/pydevd_vm_type.py +40 -0
  99. {debugpy-1.8.3 → debugpy-1.8.6}/src/debugpy/_vendored/pydevd/_pydevd_bundle/pydevd_xml.py +56 -46
  100. {debugpy-1.8.3 → debugpy-1.8.6}/src/debugpy/_vendored/pydevd/_pydevd_frame_eval/pydevd_frame_eval_cython_wrapper.py +5 -5
  101. debugpy-1.8.6/src/debugpy/_vendored/pydevd/_pydevd_frame_eval/pydevd_frame_eval_main.py +71 -0
  102. {debugpy-1.8.3 → debugpy-1.8.6}/src/debugpy/_vendored/pydevd/_pydevd_frame_eval/pydevd_frame_evaluator.c +11165 -5326
  103. {debugpy-1.8.3 → debugpy-1.8.6}/src/debugpy/_vendored/pydevd/_pydevd_frame_eval/pydevd_frame_tracing.py +5 -6
  104. {debugpy-1.8.3 → debugpy-1.8.6}/src/debugpy/_vendored/pydevd/_pydevd_frame_eval/pydevd_modify_bytecode.py +53 -56
  105. {debugpy-1.8.3 → debugpy-1.8.6}/src/debugpy/_vendored/pydevd/_pydevd_frame_eval/vendored/bytecode/__init__.py +1 -0
  106. {debugpy-1.8.3 → debugpy-1.8.6}/src/debugpy/_vendored/pydevd/_pydevd_frame_eval/vendored/bytecode/bytecode.py +4 -6
  107. {debugpy-1.8.3 → debugpy-1.8.6}/src/debugpy/_vendored/pydevd/_pydevd_frame_eval/vendored/bytecode/cfg.py +6 -26
  108. {debugpy-1.8.3 → debugpy-1.8.6}/src/debugpy/_vendored/pydevd/_pydevd_frame_eval/vendored/bytecode/concrete.py +7 -21
  109. {debugpy-1.8.3 → debugpy-1.8.6}/src/debugpy/_vendored/pydevd/_pydevd_frame_eval/vendored/bytecode/flags.py +5 -24
  110. {debugpy-1.8.3 → debugpy-1.8.6}/src/debugpy/_vendored/pydevd/_pydevd_frame_eval/vendored/bytecode/instr.py +10 -34
  111. {debugpy-1.8.3 → debugpy-1.8.6}/src/debugpy/_vendored/pydevd/_pydevd_frame_eval/vendored/bytecode/peephole_opt.py +1 -4
  112. {debugpy-1.8.3 → debugpy-1.8.6}/src/debugpy/_vendored/pydevd/_pydevd_frame_eval/vendored/bytecode/tests/__init__.py +2 -6
  113. {debugpy-1.8.3 → debugpy-1.8.6}/src/debugpy/_vendored/pydevd/_pydevd_frame_eval/vendored/bytecode/tests/test_bytecode.py +3 -5
  114. {debugpy-1.8.3 → debugpy-1.8.6}/src/debugpy/_vendored/pydevd/_pydevd_frame_eval/vendored/bytecode/tests/test_cfg.py +11 -31
  115. {debugpy-1.8.3 → debugpy-1.8.6}/src/debugpy/_vendored/pydevd/_pydevd_frame_eval/vendored/bytecode/tests/test_code.py +2 -2
  116. {debugpy-1.8.3 → debugpy-1.8.6}/src/debugpy/_vendored/pydevd/_pydevd_frame_eval/vendored/bytecode/tests/test_concrete.py +14 -41
  117. {debugpy-1.8.3 → debugpy-1.8.6}/src/debugpy/_vendored/pydevd/_pydevd_frame_eval/vendored/bytecode/tests/test_flags.py +2 -4
  118. {debugpy-1.8.3 → debugpy-1.8.6}/src/debugpy/_vendored/pydevd/_pydevd_frame_eval/vendored/bytecode/tests/test_instr.py +7 -18
  119. {debugpy-1.8.3 → debugpy-1.8.6}/src/debugpy/_vendored/pydevd/_pydevd_frame_eval/vendored/bytecode/tests/test_misc.py +6 -18
  120. {debugpy-1.8.3 → debugpy-1.8.6}/src/debugpy/_vendored/pydevd/_pydevd_frame_eval/vendored/bytecode/tests/test_peephole_opt.py +7 -18
  121. {debugpy-1.8.3 → debugpy-1.8.6}/src/debugpy/_vendored/pydevd/_pydevd_frame_eval/vendored/bytecode/tests/util_annotation.py +1 -3
  122. {debugpy-1.8.3 → debugpy-1.8.6}/src/debugpy/_vendored/pydevd/_pydevd_frame_eval/vendored/pydevd_fix_code.py +14 -19
  123. debugpy-1.8.6/src/debugpy/_vendored/pydevd/_pydevd_sys_monitoring/_pydevd_sys_monitoring.py +1927 -0
  124. debugpy-1.8.6/src/debugpy/_vendored/pydevd/_pydevd_sys_monitoring/_pydevd_sys_monitoring_cython.c +43058 -0
  125. debugpy-1.8.6/src/debugpy/_vendored/pydevd/_pydevd_sys_monitoring/_pydevd_sys_monitoring_cython.pxd +46 -0
  126. debugpy-1.8.6/src/debugpy/_vendored/pydevd/_pydevd_sys_monitoring/_pydevd_sys_monitoring_cython.pyx +1934 -0
  127. debugpy-1.8.6/src/debugpy/_vendored/pydevd/_pydevd_sys_monitoring/pydevd_sys_monitoring.py +16 -0
  128. {debugpy-1.8.3 → debugpy-1.8.6}/src/debugpy/_vendored/pydevd/pydev_app_engine_debug_startup.py +12 -11
  129. {debugpy-1.8.3 → debugpy-1.8.6}/src/debugpy/_vendored/pydevd/pydev_coverage.py +30 -32
  130. {debugpy-1.8.3 → debugpy-1.8.6}/src/debugpy/_vendored/pydevd/pydev_ipython/inputhook.py +58 -54
  131. {debugpy-1.8.3 → debugpy-1.8.6}/src/debugpy/_vendored/pydevd/pydev_ipython/inputhookglut.py +20 -24
  132. {debugpy-1.8.3 → debugpy-1.8.6}/src/debugpy/_vendored/pydevd/pydev_ipython/inputhookgtk.py +8 -7
  133. {debugpy-1.8.3 → debugpy-1.8.6}/src/debugpy/_vendored/pydevd/pydev_ipython/inputhookgtk3.py +8 -6
  134. {debugpy-1.8.3 → debugpy-1.8.6}/src/debugpy/_vendored/pydevd/pydev_ipython/inputhookpyglet.py +11 -8
  135. {debugpy-1.8.3 → debugpy-1.8.6}/src/debugpy/_vendored/pydevd/pydev_ipython/inputhookqt4.py +21 -18
  136. {debugpy-1.8.3 → debugpy-1.8.6}/src/debugpy/_vendored/pydevd/pydev_ipython/inputhookqt5.py +17 -15
  137. {debugpy-1.8.3 → debugpy-1.8.6}/src/debugpy/_vendored/pydevd/pydev_ipython/inputhookqt6.py +17 -15
  138. {debugpy-1.8.3 → debugpy-1.8.6}/src/debugpy/_vendored/pydevd/pydev_ipython/inputhooktk.py +6 -4
  139. {debugpy-1.8.3 → debugpy-1.8.6}/src/debugpy/_vendored/pydevd/pydev_ipython/inputhookwx.py +14 -10
  140. {debugpy-1.8.3 → debugpy-1.8.6}/src/debugpy/_vendored/pydevd/pydev_ipython/matplotlibtools.py +30 -26
  141. debugpy-1.8.6/src/debugpy/_vendored/pydevd/pydev_ipython/qt.py +24 -0
  142. {debugpy-1.8.3 → debugpy-1.8.6}/src/debugpy/_vendored/pydevd/pydev_ipython/qt_for_kernel.py +37 -34
  143. {debugpy-1.8.3 → debugpy-1.8.6}/src/debugpy/_vendored/pydevd/pydev_ipython/qt_loaders.py +86 -73
  144. {debugpy-1.8.3 → debugpy-1.8.6}/src/debugpy/_vendored/pydevd/pydev_ipython/version.py +7 -7
  145. debugpy-1.8.6/src/debugpy/_vendored/pydevd/pydev_pysrc.py +1 -0
  146. {debugpy-1.8.3 → debugpy-1.8.6}/src/debugpy/_vendored/pydevd/pydev_run_in_console.py +23 -24
  147. debugpy-1.8.6/src/debugpy/_vendored/pydevd/pydev_sitecustomize/sitecustomize.py +267 -0
  148. {debugpy-1.8.3 → debugpy-1.8.6}/src/debugpy/_vendored/pydevd/pydevconsole.py +55 -47
  149. {debugpy-1.8.3 → debugpy-1.8.6}/src/debugpy/_vendored/pydevd/pydevd.py +732 -508
  150. debugpy-1.8.6/src/debugpy/_vendored/pydevd/pydevd_attach_to_process/_always_live_program.py +40 -0
  151. {debugpy-1.8.3 → debugpy-1.8.6}/src/debugpy/_vendored/pydevd/pydevd_attach_to_process/_check.py +1 -0
  152. debugpy-1.8.6/src/debugpy/_vendored/pydevd/pydevd_attach_to_process/_test_attach_to_process.py +11 -0
  153. debugpy-1.8.6/src/debugpy/_vendored/pydevd/pydevd_attach_to_process/_test_attach_to_process_linux.py +75 -0
  154. {debugpy-1.8.3 → debugpy-1.8.6}/src/debugpy/_vendored/pydevd/pydevd_attach_to_process/add_code_to_python_process.py +130 -125
  155. debugpy-1.8.6/src/debugpy/_vendored/pydevd/pydevd_attach_to_process/attach_amd64.dll +0 -0
  156. debugpy-1.8.6/src/debugpy/_vendored/pydevd/pydevd_attach_to_process/attach_amd64.pdb +0 -0
  157. debugpy-1.8.6/src/debugpy/_vendored/pydevd/pydevd_attach_to_process/attach_pydevd.py +89 -0
  158. {debugpy-1.8.3 → debugpy-1.8.6}/src/debugpy/_vendored/pydevd/pydevd_attach_to_process/attach_script.py +41 -32
  159. debugpy-1.8.6/src/debugpy/_vendored/pydevd/pydevd_attach_to_process/attach_x86.dll +0 -0
  160. debugpy-1.8.6/src/debugpy/_vendored/pydevd/pydevd_attach_to_process/attach_x86.pdb +0 -0
  161. {debugpy-1.8.3 → debugpy-1.8.6}/src/debugpy/_vendored/pydevd/pydevd_attach_to_process/common/py_utils.hpp +1 -0
  162. {debugpy-1.8.3 → debugpy-1.8.6}/src/debugpy/_vendored/pydevd/pydevd_attach_to_process/common/py_version.hpp +9 -1
  163. debugpy-1.8.6/src/debugpy/_vendored/pydevd/pydevd_attach_to_process/inject_dll_amd64.exe +0 -0
  164. debugpy-1.8.6/src/debugpy/_vendored/pydevd/pydevd_attach_to_process/inject_dll_amd64.pdb +0 -0
  165. {debugpy-1.8.3 → debugpy-1.8.6}/src/debugpy/_vendored/pydevd/pydevd_attach_to_process/inject_dll_x86.exe +0 -0
  166. debugpy-1.8.6/src/debugpy/_vendored/pydevd/pydevd_attach_to_process/inject_dll_x86.pdb +0 -0
  167. {debugpy-1.8.3 → debugpy-1.8.6}/src/debugpy/_vendored/pydevd/pydevd_attach_to_process/linux_and_mac/lldb_prepare.py +10 -9
  168. debugpy-1.8.6/src/debugpy/_vendored/pydevd/pydevd_attach_to_process/run_code_on_dllmain_amd64.dll +0 -0
  169. debugpy-1.8.6/src/debugpy/_vendored/pydevd/pydevd_attach_to_process/run_code_on_dllmain_amd64.pdb +0 -0
  170. debugpy-1.8.6/src/debugpy/_vendored/pydevd/pydevd_attach_to_process/run_code_on_dllmain_x86.dll +0 -0
  171. debugpy-1.8.6/src/debugpy/_vendored/pydevd/pydevd_attach_to_process/run_code_on_dllmain_x86.pdb +0 -0
  172. {debugpy-1.8.3 → debugpy-1.8.6}/src/debugpy/_vendored/pydevd/pydevd_attach_to_process/winappdbg/__init__.py +103 -119
  173. {debugpy-1.8.3 → debugpy-1.8.6}/src/debugpy/_vendored/pydevd/pydevd_attach_to_process/winappdbg/breakpoint.py +457 -516
  174. {debugpy-1.8.3 → debugpy-1.8.6}/src/debugpy/_vendored/pydevd/pydevd_attach_to_process/winappdbg/compat.py +33 -15
  175. {debugpy-1.8.3 → debugpy-1.8.6}/src/debugpy/_vendored/pydevd/pydevd_attach_to_process/winappdbg/crash.py +336 -281
  176. {debugpy-1.8.3 → debugpy-1.8.6}/src/debugpy/_vendored/pydevd/pydevd_attach_to_process/winappdbg/debug.py +101 -131
  177. {debugpy-1.8.3 → debugpy-1.8.6}/src/debugpy/_vendored/pydevd/pydevd_attach_to_process/winappdbg/disasm.py +148 -153
  178. {debugpy-1.8.3 → debugpy-1.8.6}/src/debugpy/_vendored/pydevd/pydevd_attach_to_process/winappdbg/event.py +310 -302
  179. {debugpy-1.8.3 → debugpy-1.8.6}/src/debugpy/_vendored/pydevd/pydevd_attach_to_process/winappdbg/interactive.py +235 -208
  180. {debugpy-1.8.3 → debugpy-1.8.6}/src/debugpy/_vendored/pydevd/pydevd_attach_to_process/winappdbg/module.py +185 -218
  181. {debugpy-1.8.3 → debugpy-1.8.6}/src/debugpy/_vendored/pydevd/pydevd_attach_to_process/winappdbg/process.py +428 -564
  182. {debugpy-1.8.3 → debugpy-1.8.6}/src/debugpy/_vendored/pydevd/pydevd_attach_to_process/winappdbg/registry.py +54 -53
  183. {debugpy-1.8.3 → debugpy-1.8.6}/src/debugpy/_vendored/pydevd/pydevd_attach_to_process/winappdbg/search.py +69 -73
  184. {debugpy-1.8.3 → debugpy-1.8.6}/src/debugpy/_vendored/pydevd/pydevd_attach_to_process/winappdbg/sql.py +158 -170
  185. {debugpy-1.8.3 → debugpy-1.8.6}/src/debugpy/_vendored/pydevd/pydevd_attach_to_process/winappdbg/system.py +143 -213
  186. {debugpy-1.8.3 → debugpy-1.8.6}/src/debugpy/_vendored/pydevd/pydevd_attach_to_process/winappdbg/textio.py +302 -333
  187. {debugpy-1.8.3 → debugpy-1.8.6}/src/debugpy/_vendored/pydevd/pydevd_attach_to_process/winappdbg/thread.py +220 -239
  188. {debugpy-1.8.3 → debugpy-1.8.6}/src/debugpy/_vendored/pydevd/pydevd_attach_to_process/winappdbg/util.py +198 -177
  189. {debugpy-1.8.3 → debugpy-1.8.6}/src/debugpy/_vendored/pydevd/pydevd_attach_to_process/winappdbg/win32/__init__.py +11 -11
  190. {debugpy-1.8.3 → debugpy-1.8.6}/src/debugpy/_vendored/pydevd/pydevd_attach_to_process/winappdbg/win32/advapi32.py +1191 -713
  191. {debugpy-1.8.3 → debugpy-1.8.6}/src/debugpy/_vendored/pydevd/pydevd_attach_to_process/winappdbg/win32/context_amd64.py +248 -194
  192. {debugpy-1.8.3 → debugpy-1.8.6}/src/debugpy/_vendored/pydevd/pydevd_attach_to_process/winappdbg/win32/context_i386.py +132 -120
  193. {debugpy-1.8.3 → debugpy-1.8.6}/src/debugpy/_vendored/pydevd/pydevd_attach_to_process/winappdbg/win32/dbghelp.py +450 -346
  194. {debugpy-1.8.3 → debugpy-1.8.6}/src/debugpy/_vendored/pydevd/pydevd_attach_to_process/winappdbg/win32/defines.py +305 -286
  195. debugpy-1.8.6/src/debugpy/_vendored/pydevd/pydevd_attach_to_process/winappdbg/win32/gdi32.py +526 -0
  196. {debugpy-1.8.3 → debugpy-1.8.6}/src/debugpy/_vendored/pydevd/pydevd_attach_to_process/winappdbg/win32/kernel32.py +1479 -1097
  197. debugpy-1.8.6/src/debugpy/_vendored/pydevd/pydevd_attach_to_process/winappdbg/win32/ntdll.py +579 -0
  198. debugpy-1.8.6/src/debugpy/_vendored/pydevd/pydevd_attach_to_process/winappdbg/win32/peb_teb.py +3517 -0
  199. {debugpy-1.8.3 → debugpy-1.8.6}/src/debugpy/_vendored/pydevd/pydevd_attach_to_process/winappdbg/win32/psapi.py +54 -31
  200. {debugpy-1.8.3 → debugpy-1.8.6}/src/debugpy/_vendored/pydevd/pydevd_attach_to_process/winappdbg/win32/shell32.py +170 -149
  201. {debugpy-1.8.3 → debugpy-1.8.6}/src/debugpy/_vendored/pydevd/pydevd_attach_to_process/winappdbg/win32/shlwapi.py +190 -108
  202. {debugpy-1.8.3 → debugpy-1.8.6}/src/debugpy/_vendored/pydevd/pydevd_attach_to_process/winappdbg/win32/user32.py +542 -437
  203. {debugpy-1.8.3 → debugpy-1.8.6}/src/debugpy/_vendored/pydevd/pydevd_attach_to_process/winappdbg/win32/version.py +489 -442
  204. {debugpy-1.8.3 → debugpy-1.8.6}/src/debugpy/_vendored/pydevd/pydevd_attach_to_process/winappdbg/win32/wtsapi32.py +83 -65
  205. {debugpy-1.8.3 → debugpy-1.8.6}/src/debugpy/_vendored/pydevd/pydevd_attach_to_process/winappdbg/window.py +70 -76
  206. {debugpy-1.8.3 → debugpy-1.8.6}/src/debugpy/_vendored/pydevd/pydevd_attach_to_process/windows/attach.cpp +17 -9
  207. {debugpy-1.8.3 → debugpy-1.8.6}/src/debugpy/_vendored/pydevd/pydevd_attach_to_process/windows/compile_windows.bat +1 -1
  208. {debugpy-1.8.3 → debugpy-1.8.6}/src/debugpy/_vendored/pydevd/pydevd_file_utils.py +141 -120
  209. {debugpy-1.8.3/src/debugpy/_vendored/pydevd/pydevd_plugins/extensions/types → debugpy-1.8.6/src/debugpy/_vendored/pydevd/pydevd_plugins}/__init__.py +1 -0
  210. {debugpy-1.8.3 → debugpy-1.8.6}/src/debugpy/_vendored/pydevd/pydevd_plugins/django_debug.py +175 -149
  211. {debugpy-1.8.3/src/debugpy/_vendored/pydevd/pydevd_plugins → debugpy-1.8.6/src/debugpy/_vendored/pydevd/pydevd_plugins/extensions}/__init__.py +1 -0
  212. {debugpy-1.8.3/src/debugpy/_vendored/pydevd/pydevd_plugins/extensions → debugpy-1.8.6/src/debugpy/_vendored/pydevd/pydevd_plugins/extensions/types}/__init__.py +1 -0
  213. {debugpy-1.8.3 → debugpy-1.8.6}/src/debugpy/_vendored/pydevd/pydevd_plugins/extensions/types/pydevd_helpers.py +5 -5
  214. {debugpy-1.8.3 → debugpy-1.8.6}/src/debugpy/_vendored/pydevd/pydevd_plugins/extensions/types/pydevd_plugin_numpy_types.py +28 -28
  215. {debugpy-1.8.3 → debugpy-1.8.6}/src/debugpy/_vendored/pydevd/pydevd_plugins/extensions/types/pydevd_plugin_pandas_types.py +22 -30
  216. {debugpy-1.8.3 → debugpy-1.8.6}/src/debugpy/_vendored/pydevd/pydevd_plugins/extensions/types/pydevd_plugins_django_form_str.py +3 -2
  217. {debugpy-1.8.3 → debugpy-1.8.6}/src/debugpy/_vendored/pydevd/pydevd_plugins/jinja2_debug.py +130 -108
  218. {debugpy-1.8.3 → debugpy-1.8.6}/src/debugpy/_vendored/pydevd/pydevd_plugins/pydevd_line_validation.py +27 -14
  219. {debugpy-1.8.3 → debugpy-1.8.6}/src/debugpy/_vendored/pydevd/pydevd_tracing.py +85 -66
  220. {debugpy-1.8.3 → debugpy-1.8.6}/src/debugpy/_vendored/pydevd/setup_pydevd_cython.py +96 -59
  221. {debugpy-1.8.3 → debugpy-1.8.6}/src/debugpy/_version.py +3 -3
  222. {debugpy-1.8.3 → debugpy-1.8.6}/src/debugpy/common/messaging.py +2 -1
  223. {debugpy-1.8.3 → debugpy-1.8.6}/src/debugpy/server/cli.py +32 -17
  224. {debugpy-1.8.3 → debugpy-1.8.6/src/debugpy.egg-info}/PKG-INFO +1 -1
  225. {debugpy-1.8.3 → debugpy-1.8.6}/src/debugpy.egg-info/SOURCES.txt +6 -9
  226. debugpy-1.8.3/src/debugpy/_vendored/pydevd/_pydev_bundle/_pydev_filesystem_encoding.py +0 -41
  227. debugpy-1.8.3/src/debugpy/_vendored/pydevd/_pydev_runfiles/pydev_runfiles_coverage.py +0 -76
  228. debugpy-1.8.3/src/debugpy/_vendored/pydevd/_pydevd_bundle/_debug_adapter/__main__pydevd_gen_debug_adapter_protocol.py +0 -592
  229. debugpy-1.8.3/src/debugpy/_vendored/pydevd/_pydevd_bundle/_debug_adapter/pydevd_schema.py +0 -19514
  230. debugpy-1.8.3/src/debugpy/_vendored/pydevd/_pydevd_bundle/pydevd_additional_thread_info.py +0 -19
  231. debugpy-1.8.3/src/debugpy/_vendored/pydevd/_pydevd_bundle/pydevd_additional_thread_info_regular.py +0 -153
  232. debugpy-1.8.3/src/debugpy/_vendored/pydevd/_pydevd_bundle/pydevd_json_debug_options.py +0 -204
  233. debugpy-1.8.3/src/debugpy/_vendored/pydevd/_pydevd_bundle/pydevd_plugin_utils.py +0 -91
  234. debugpy-1.8.3/src/debugpy/_vendored/pydevd/_pydevd_bundle/pydevd_trace_api.py +0 -62
  235. debugpy-1.8.3/src/debugpy/_vendored/pydevd/_pydevd_bundle/pydevd_vm_type.py +0 -41
  236. debugpy-1.8.3/src/debugpy/_vendored/pydevd/_pydevd_frame_eval/pydevd_frame_eval_main.py +0 -48
  237. debugpy-1.8.3/src/debugpy/_vendored/pydevd/_pydevd_frame_eval/vendored/bytecode-0.13.0.dev0.dist-info/COPYING +0 -21
  238. debugpy-1.8.3/src/debugpy/_vendored/pydevd/_pydevd_frame_eval/vendored/bytecode-0.13.0.dev0.dist-info/INSTALLER +0 -1
  239. debugpy-1.8.3/src/debugpy/_vendored/pydevd/_pydevd_frame_eval/vendored/bytecode-0.13.0.dev0.dist-info/METADATA +0 -77
  240. debugpy-1.8.3/src/debugpy/_vendored/pydevd/_pydevd_frame_eval/vendored/bytecode-0.13.0.dev0.dist-info/RECORD +0 -42
  241. debugpy-1.8.3/src/debugpy/_vendored/pydevd/_pydevd_frame_eval/vendored/bytecode-0.13.0.dev0.dist-info/REQUESTED +0 -0
  242. debugpy-1.8.3/src/debugpy/_vendored/pydevd/_pydevd_frame_eval/vendored/bytecode-0.13.0.dev0.dist-info/WHEEL +0 -5
  243. debugpy-1.8.3/src/debugpy/_vendored/pydevd/_pydevd_frame_eval/vendored/bytecode-0.13.0.dev0.dist-info/direct_url.json +0 -1
  244. debugpy-1.8.3/src/debugpy/_vendored/pydevd/_pydevd_frame_eval/vendored/bytecode-0.13.0.dev0.dist-info/top_level.txt +0 -1
  245. debugpy-1.8.3/src/debugpy/_vendored/pydevd/pydev_ipython/qt.py +0 -23
  246. debugpy-1.8.3/src/debugpy/_vendored/pydevd/pydev_pysrc.py +0 -1
  247. debugpy-1.8.3/src/debugpy/_vendored/pydevd/pydev_sitecustomize/sitecustomize.py +0 -237
  248. debugpy-1.8.3/src/debugpy/_vendored/pydevd/pydevd_attach_to_process/_always_live_program.py +0 -32
  249. debugpy-1.8.3/src/debugpy/_vendored/pydevd/pydevd_attach_to_process/_test_attach_to_process.py +0 -9
  250. debugpy-1.8.3/src/debugpy/_vendored/pydevd/pydevd_attach_to_process/_test_attach_to_process_linux.py +0 -74
  251. debugpy-1.8.3/src/debugpy/_vendored/pydevd/pydevd_attach_to_process/attach_amd64.dll +0 -0
  252. debugpy-1.8.3/src/debugpy/_vendored/pydevd/pydevd_attach_to_process/attach_amd64.pdb +0 -0
  253. debugpy-1.8.3/src/debugpy/_vendored/pydevd/pydevd_attach_to_process/attach_pydevd.py +0 -79
  254. debugpy-1.8.3/src/debugpy/_vendored/pydevd/pydevd_attach_to_process/attach_x86.dll +0 -0
  255. debugpy-1.8.3/src/debugpy/_vendored/pydevd/pydevd_attach_to_process/attach_x86.pdb +0 -0
  256. debugpy-1.8.3/src/debugpy/_vendored/pydevd/pydevd_attach_to_process/inject_dll_amd64.exe +0 -0
  257. debugpy-1.8.3/src/debugpy/_vendored/pydevd/pydevd_attach_to_process/inject_dll_amd64.pdb +0 -0
  258. debugpy-1.8.3/src/debugpy/_vendored/pydevd/pydevd_attach_to_process/inject_dll_x86.pdb +0 -0
  259. debugpy-1.8.3/src/debugpy/_vendored/pydevd/pydevd_attach_to_process/run_code_on_dllmain_amd64.dll +0 -0
  260. debugpy-1.8.3/src/debugpy/_vendored/pydevd/pydevd_attach_to_process/run_code_on_dllmain_amd64.pdb +0 -0
  261. debugpy-1.8.3/src/debugpy/_vendored/pydevd/pydevd_attach_to_process/run_code_on_dllmain_x86.dll +0 -0
  262. debugpy-1.8.3/src/debugpy/_vendored/pydevd/pydevd_attach_to_process/run_code_on_dllmain_x86.pdb +0 -0
  263. debugpy-1.8.3/src/debugpy/_vendored/pydevd/pydevd_attach_to_process/winappdbg/win32/gdi32.py +0 -507
  264. debugpy-1.8.3/src/debugpy/_vendored/pydevd/pydevd_attach_to_process/winappdbg/win32/ntdll.py +0 -539
  265. debugpy-1.8.3/src/debugpy/_vendored/pydevd/pydevd_attach_to_process/winappdbg/win32/peb_teb.py +0 -3435
  266. {debugpy-1.8.3 → debugpy-1.8.6}/DESCRIPTION.md +0 -0
  267. {debugpy-1.8.3 → debugpy-1.8.6}/LICENSE +0 -0
  268. {debugpy-1.8.3 → debugpy-1.8.6}/MANIFEST.in +0 -0
  269. {debugpy-1.8.3 → debugpy-1.8.6}/README.md +0 -0
  270. {debugpy-1.8.3 → debugpy-1.8.6}/pyproject.toml +0 -0
  271. {debugpy-1.8.3 → debugpy-1.8.6}/setup.cfg +0 -0
  272. {debugpy-1.8.3 → debugpy-1.8.6}/setup.py +0 -0
  273. {debugpy-1.8.3 → debugpy-1.8.6}/src/debugpy/ThirdPartyNotices.txt +0 -0
  274. {debugpy-1.8.3 → debugpy-1.8.6}/src/debugpy/__init__.py +0 -0
  275. {debugpy-1.8.3 → debugpy-1.8.6}/src/debugpy/__main__.py +0 -0
  276. {debugpy-1.8.3 → debugpy-1.8.6}/src/debugpy/_vendored/__init__.py +0 -0
  277. {debugpy-1.8.3 → debugpy-1.8.6}/src/debugpy/_vendored/_pydevd_packaging.py +0 -0
  278. {debugpy-1.8.3 → debugpy-1.8.6}/src/debugpy/_vendored/_util.py +0 -0
  279. {debugpy-1.8.3 → debugpy-1.8.6}/src/debugpy/_vendored/force_pydevd.py +0 -0
  280. {debugpy-1.8.3 → debugpy-1.8.6}/src/debugpy/_vendored/pydevd/_pydev_bundle/__init__.py +0 -0
  281. {debugpy-1.8.3 → debugpy-1.8.6}/src/debugpy/_vendored/pydevd/_pydev_runfiles/__init__.py +0 -0
  282. {debugpy-1.8.3 → debugpy-1.8.6}/src/debugpy/_vendored/pydevd/_pydevd_bundle/__init__.py +0 -0
  283. {debugpy-1.8.3 → debugpy-1.8.6}/src/debugpy/_vendored/pydevd/_pydevd_bundle/_debug_adapter/__init__.py +0 -0
  284. {debugpy-1.8.3 → debugpy-1.8.6}/src/debugpy/_vendored/pydevd/_pydevd_bundle/_debug_adapter/debugProtocolCustom.json +0 -0
  285. {debugpy-1.8.3 → debugpy-1.8.6}/src/debugpy/_vendored/pydevd/_pydevd_bundle/pydevd_concurrency_analyser/__init__.py +0 -0
  286. {debugpy-1.8.3 → debugpy-1.8.6}/src/debugpy/_vendored/pydevd/_pydevd_frame_eval/.gitignore +0 -0
  287. {debugpy-1.8.3 → debugpy-1.8.6}/src/debugpy/_vendored/pydevd/_pydevd_frame_eval/__init__.py +0 -0
  288. {debugpy-1.8.3 → debugpy-1.8.6}/src/debugpy/_vendored/pydevd/_pydevd_frame_eval/pydevd_frame_evaluator.pxd +0 -0
  289. {debugpy-1.8.3 → debugpy-1.8.6}/src/debugpy/_vendored/pydevd/_pydevd_frame_eval/pydevd_frame_evaluator.pyx +0 -0
  290. {debugpy-1.8.3 → debugpy-1.8.6}/src/debugpy/_vendored/pydevd/_pydevd_frame_eval/pydevd_frame_evaluator.template.pyx +0 -0
  291. {debugpy-1.8.3 → debugpy-1.8.6}/src/debugpy/_vendored/pydevd/_pydevd_frame_eval/release_mem.h +0 -0
  292. {debugpy-1.8.3 → debugpy-1.8.6}/src/debugpy/_vendored/pydevd/_pydevd_frame_eval/vendored/README.txt +0 -0
  293. {debugpy-1.8.3 → debugpy-1.8.6}/src/debugpy/_vendored/pydevd/_pydevd_frame_eval/vendored/__init__.py +0 -0
  294. {debugpy-1.8.3 → debugpy-1.8.6}/src/debugpy/_vendored/pydevd/pydev_ipython/README +0 -0
  295. {debugpy-1.8.3 → debugpy-1.8.6}/src/debugpy/_vendored/pydevd/pydev_ipython/__init__.py +0 -0
  296. {debugpy-1.8.3 → debugpy-1.8.6}/src/debugpy/_vendored/pydevd/pydev_sitecustomize/__not_in_default_pythonpath.txt +0 -0
  297. {debugpy-1.8.3 → debugpy-1.8.6}/src/debugpy/_vendored/pydevd/pydevd_attach_to_process/README.txt +0 -0
  298. {debugpy-1.8.3 → debugpy-1.8.6}/src/debugpy/_vendored/pydevd/pydevd_attach_to_process/common/py_custom_pyeval_settrace.hpp +0 -0
  299. {debugpy-1.8.3 → debugpy-1.8.6}/src/debugpy/_vendored/pydevd/pydevd_attach_to_process/common/py_custom_pyeval_settrace_310.hpp +0 -0
  300. {debugpy-1.8.3 → debugpy-1.8.6}/src/debugpy/_vendored/pydevd/pydevd_attach_to_process/common/py_custom_pyeval_settrace_311.hpp +0 -0
  301. {debugpy-1.8.3 → debugpy-1.8.6}/src/debugpy/_vendored/pydevd/pydevd_attach_to_process/common/py_custom_pyeval_settrace_common.hpp +0 -0
  302. {debugpy-1.8.3 → debugpy-1.8.6}/src/debugpy/_vendored/pydevd/pydevd_attach_to_process/common/py_settrace.hpp +0 -0
  303. {debugpy-1.8.3 → debugpy-1.8.6}/src/debugpy/_vendored/pydevd/pydevd_attach_to_process/common/python.h +0 -0
  304. {debugpy-1.8.3 → debugpy-1.8.6}/src/debugpy/_vendored/pydevd/pydevd_attach_to_process/common/ref_utils.hpp +0 -0
  305. {debugpy-1.8.3 → debugpy-1.8.6}/src/debugpy/_vendored/pydevd/pydevd_attach_to_process/linux_and_mac/.gitignore +0 -0
  306. {debugpy-1.8.3 → debugpy-1.8.6}/src/debugpy/_vendored/pydevd/pydevd_attach_to_process/linux_and_mac/attach.cpp +0 -0
  307. {debugpy-1.8.3 → debugpy-1.8.6}/src/debugpy/_vendored/pydevd/pydevd_attach_to_process/linux_and_mac/compile_linux.sh +0 -0
  308. {debugpy-1.8.3 → debugpy-1.8.6}/src/debugpy/_vendored/pydevd/pydevd_attach_to_process/linux_and_mac/compile_mac.sh +0 -0
  309. {debugpy-1.8.3 → debugpy-1.8.6}/src/debugpy/_vendored/pydevd/pydevd_attach_to_process/linux_and_mac/compile_manylinux.cmd +0 -0
  310. {debugpy-1.8.3 → debugpy-1.8.6}/src/debugpy/_vendored/pydevd/pydevd_attach_to_process/windows/attach.h +0 -0
  311. {debugpy-1.8.3 → debugpy-1.8.6}/src/debugpy/_vendored/pydevd/pydevd_attach_to_process/windows/inject_dll.cpp +0 -0
  312. {debugpy-1.8.3 → debugpy-1.8.6}/src/debugpy/_vendored/pydevd/pydevd_attach_to_process/windows/py_win_helpers.hpp +0 -0
  313. {debugpy-1.8.3 → debugpy-1.8.6}/src/debugpy/_vendored/pydevd/pydevd_attach_to_process/windows/run_code_in_memory.hpp +0 -0
  314. {debugpy-1.8.3 → debugpy-1.8.6}/src/debugpy/_vendored/pydevd/pydevd_attach_to_process/windows/run_code_on_dllmain.cpp +0 -0
  315. {debugpy-1.8.3 → debugpy-1.8.6}/src/debugpy/_vendored/pydevd/pydevd_attach_to_process/windows/stdafx.cpp +0 -0
  316. {debugpy-1.8.3 → debugpy-1.8.6}/src/debugpy/_vendored/pydevd/pydevd_attach_to_process/windows/stdafx.h +0 -0
  317. {debugpy-1.8.3 → debugpy-1.8.6}/src/debugpy/_vendored/pydevd/pydevd_attach_to_process/windows/targetver.h +0 -0
  318. {debugpy-1.8.3 → debugpy-1.8.6}/src/debugpy/_vendored/pydevd/pydevd_plugins/extensions/README.md +0 -0
  319. {debugpy-1.8.3 → debugpy-1.8.6}/src/debugpy/adapter/__init__.py +0 -0
  320. {debugpy-1.8.3 → debugpy-1.8.6}/src/debugpy/adapter/__main__.py +0 -0
  321. {debugpy-1.8.3 → debugpy-1.8.6}/src/debugpy/adapter/clients.py +0 -0
  322. {debugpy-1.8.3 → debugpy-1.8.6}/src/debugpy/adapter/components.py +0 -0
  323. {debugpy-1.8.3 → debugpy-1.8.6}/src/debugpy/adapter/launchers.py +0 -0
  324. {debugpy-1.8.3 → debugpy-1.8.6}/src/debugpy/adapter/servers.py +0 -0
  325. {debugpy-1.8.3 → debugpy-1.8.6}/src/debugpy/adapter/sessions.py +0 -0
  326. {debugpy-1.8.3 → debugpy-1.8.6}/src/debugpy/common/__init__.py +0 -0
  327. {debugpy-1.8.3 → debugpy-1.8.6}/src/debugpy/common/json.py +0 -0
  328. {debugpy-1.8.3 → debugpy-1.8.6}/src/debugpy/common/log.py +0 -0
  329. {debugpy-1.8.3 → debugpy-1.8.6}/src/debugpy/common/singleton.py +0 -0
  330. {debugpy-1.8.3 → debugpy-1.8.6}/src/debugpy/common/sockets.py +0 -0
  331. {debugpy-1.8.3 → debugpy-1.8.6}/src/debugpy/common/stacks.py +0 -0
  332. {debugpy-1.8.3 → debugpy-1.8.6}/src/debugpy/common/timestamp.py +0 -0
  333. {debugpy-1.8.3 → debugpy-1.8.6}/src/debugpy/common/util.py +0 -0
  334. {debugpy-1.8.3 → debugpy-1.8.6}/src/debugpy/launcher/__init__.py +0 -0
  335. {debugpy-1.8.3 → debugpy-1.8.6}/src/debugpy/launcher/__main__.py +0 -0
  336. {debugpy-1.8.3 → debugpy-1.8.6}/src/debugpy/launcher/debuggee.py +0 -0
  337. {debugpy-1.8.3 → debugpy-1.8.6}/src/debugpy/launcher/handlers.py +0 -0
  338. {debugpy-1.8.3 → debugpy-1.8.6}/src/debugpy/launcher/output.py +0 -0
  339. {debugpy-1.8.3 → debugpy-1.8.6}/src/debugpy/launcher/winapi.py +0 -0
  340. {debugpy-1.8.3 → debugpy-1.8.6}/src/debugpy/public_api.py +0 -0
  341. {debugpy-1.8.3 → debugpy-1.8.6}/src/debugpy/server/__init__.py +0 -0
  342. {debugpy-1.8.3 → debugpy-1.8.6}/src/debugpy/server/api.py +0 -0
  343. {debugpy-1.8.3 → debugpy-1.8.6}/src/debugpy/server/attach_pid_injected.py +0 -0
  344. {debugpy-1.8.3 → debugpy-1.8.6}/src/debugpy.egg-info/dependency_links.txt +0 -0
  345. {debugpy-1.8.3 → debugpy-1.8.6}/src/debugpy.egg-info/entry_points.txt +0 -0
  346. {debugpy-1.8.3 → debugpy-1.8.6}/src/debugpy.egg-info/top_level.txt +0 -0
  347. {debugpy-1.8.3 → debugpy-1.8.6}/versioneer.py +0 -0
@@ -42,7 +42,7 @@ from __future__ import with_statement
42
42
 
43
43
  __revision__ = "$Id$"
44
44
 
45
- __all__ = ['Module', 'DebugSymbolsWarning']
45
+ __all__ = ["Module", "DebugSymbolsWarning"]
46
46
 
47
47
  import sys
48
48
  from winappdbg import win32
@@ -57,17 +57,20 @@ import os
57
57
  import warnings
58
58
  import traceback
59
59
 
60
- #==============================================================================
60
+ # ==============================================================================
61
61
 
62
- class DebugSymbolsWarning (UserWarning):
62
+
63
+ class DebugSymbolsWarning(UserWarning):
63
64
  """
64
65
  This warning is issued if the support for debug symbols
65
66
  isn't working properly.
66
67
  """
67
68
 
68
- #==============================================================================
69
69
 
70
- class Module (object):
70
+ # ==============================================================================
71
+
72
+
73
+ class Module(object):
71
74
  """
72
75
  Interface to a DLL library loaded in the context of another process.
73
76
 
@@ -115,14 +118,14 @@ class Module (object):
115
118
  Use the L{get_process} method instead.
116
119
  """
117
120
 
118
- unknown = '<unknown>'
121
+ unknown = "<unknown>"
119
122
 
120
- class _SymbolEnumerator (object):
123
+ class _SymbolEnumerator(object):
121
124
  """
122
125
  Internally used by L{Module} to enumerate symbols in a module.
123
126
  """
124
127
 
125
- def __init__(self, undecorate = False):
128
+ def __init__(self, undecorate=False):
126
129
  self.symbols = list()
127
130
  self.undecorate = undecorate
128
131
 
@@ -134,14 +137,11 @@ class Module (object):
134
137
  try:
135
138
  SymbolName = win32.UnDecorateSymbolName(SymbolName)
136
139
  except Exception:
137
- pass # not all symbols are decorated!
138
- self.symbols.append( (SymbolName, SymbolAddress, SymbolSize) )
140
+ pass # not all symbols are decorated!
141
+ self.symbols.append((SymbolName, SymbolAddress, SymbolSize))
139
142
  return win32.TRUE
140
143
 
141
- def __init__(self, lpBaseOfDll, hFile = None, fileName = None,
142
- SizeOfImage = None,
143
- EntryPoint = None,
144
- process = None):
144
+ def __init__(self, lpBaseOfDll, hFile=None, fileName=None, SizeOfImage=None, EntryPoint=None, process=None):
145
145
  """
146
146
  @type lpBaseOfDll: str
147
147
  @param lpBaseOfDll: Base address of the module.
@@ -161,10 +161,10 @@ class Module (object):
161
161
  @type process: L{Process}
162
162
  @param process: (Optional) Process where the module is loaded.
163
163
  """
164
- self.lpBaseOfDll = lpBaseOfDll
165
- self.fileName = fileName
166
- self.SizeOfImage = SizeOfImage
167
- self.EntryPoint = EntryPoint
164
+ self.lpBaseOfDll = lpBaseOfDll
165
+ self.fileName = fileName
166
+ self.SizeOfImage = SizeOfImage
167
+ self.EntryPoint = EntryPoint
168
168
 
169
169
  self.__symbols = list()
170
170
 
@@ -172,21 +172,21 @@ class Module (object):
172
172
  self.set_process(process)
173
173
 
174
174
  # Not really sure if it's a good idea...
175
- ## def __eq__(self, aModule):
176
- ## """
177
- ## Compare two Module objects. The comparison is made using the process
178
- ## IDs and the module bases.
179
- ##
180
- ## @type aModule: L{Module}
181
- ## @param aModule: Another Module object.
182
- ##
183
- ## @rtype: bool
184
- ## @return: C{True} if the two process IDs and module bases are equal,
185
- ## C{False} otherwise.
186
- ## """
187
- ## return isinstance(aModule, Module) and \
188
- ## self.get_pid() == aModule.get_pid() and \
189
- ## self.get_base() == aModule.get_base()
175
+ ## def __eq__(self, aModule):
176
+ ## """
177
+ ## Compare two Module objects. The comparison is made using the process
178
+ ## IDs and the module bases.
179
+ ##
180
+ ## @type aModule: L{Module}
181
+ ## @param aModule: Another Module object.
182
+ ##
183
+ ## @rtype: bool
184
+ ## @return: C{True} if the two process IDs and module bases are equal,
185
+ ## C{False} otherwise.
186
+ ## """
187
+ ## return isinstance(aModule, Module) and \
188
+ ## self.get_pid() == aModule.get_pid() and \
189
+ ## self.get_base() == aModule.get_base()
190
190
 
191
191
  def get_handle(self):
192
192
  """
@@ -217,7 +217,7 @@ class Module (object):
217
217
  # no way to guess!
218
218
  return self.__process
219
219
 
220
- def set_process(self, process = None):
220
+ def set_process(self, process=None):
221
221
  """
222
222
  Manually set the parent process. Use with care!
223
223
 
@@ -227,11 +227,11 @@ class Module (object):
227
227
  if process is None:
228
228
  self.__process = None
229
229
  else:
230
- global Process # delayed import
230
+ global Process # delayed import
231
231
  if Process is None:
232
232
  from winappdbg.process import Process
233
233
  if not isinstance(process, Process):
234
- msg = "Parent process must be a Process instance, "
234
+ msg = "Parent process must be a Process instance, "
235
235
  msg += "got %s instead" % type(process)
236
236
  raise TypeError(msg)
237
237
  self.__process = process
@@ -281,17 +281,14 @@ class Module (object):
281
281
  process = self.get_process()
282
282
  if process:
283
283
  try:
284
- handle = process.get_handle( win32.PROCESS_VM_READ |
285
- win32.PROCESS_QUERY_INFORMATION )
286
- base = self.get_base()
287
- mi = win32.GetModuleInformation(handle, base)
284
+ handle = process.get_handle(win32.PROCESS_VM_READ | win32.PROCESS_QUERY_INFORMATION)
285
+ base = self.get_base()
286
+ mi = win32.GetModuleInformation(handle, base)
288
287
  self.SizeOfImage = mi.SizeOfImage
289
- self.EntryPoint = mi.EntryPoint
288
+ self.EntryPoint = mi.EntryPoint
290
289
  except WindowsError:
291
290
  e = sys.exc_info()[1]
292
- warnings.warn(
293
- "Cannot get size and entry point of module %s, reason: %s"\
294
- % (self.get_name(), e.strerror), RuntimeWarning)
291
+ warnings.warn("Cannot get size and entry point of module %s, reason: %s" % (self.get_name(), e.strerror), RuntimeWarning)
295
292
 
296
293
  def get_filename(self):
297
294
  """
@@ -344,7 +341,7 @@ class Module (object):
344
341
  modName = self.__filename_to_modname(pathname)
345
342
  if isinstance(modName, compat.unicode):
346
343
  try:
347
- modName = modName.encode('cp1252')
344
+ modName = modName.encode("cp1252")
348
345
  except UnicodeEncodeError:
349
346
  e = sys.exc_info()[1]
350
347
  warnings.warn(str(e))
@@ -383,7 +380,7 @@ class Module (object):
383
380
  # No match.
384
381
  return False
385
382
 
386
- #------------------------------------------------------------------------------
383
+ # ------------------------------------------------------------------------------
387
384
 
388
385
  def open_handle(self):
389
386
  """
@@ -394,16 +391,14 @@ class Module (object):
394
391
 
395
392
  if not self.get_filename():
396
393
  msg = "Cannot retrieve filename for module at %s"
397
- msg = msg % HexDump.address( self.get_base() )
394
+ msg = msg % HexDump.address(self.get_base())
398
395
  raise Exception(msg)
399
396
 
400
- hFile = win32.CreateFile(self.get_filename(),
401
- dwShareMode = win32.FILE_SHARE_READ,
402
- dwCreationDisposition = win32.OPEN_EXISTING)
397
+ hFile = win32.CreateFile(self.get_filename(), dwShareMode=win32.FILE_SHARE_READ, dwCreationDisposition=win32.OPEN_EXISTING)
403
398
 
404
399
  # In case hFile was set to an actual handle value instead of a Handle
405
400
  # object. This shouldn't happen unless the user tinkered with hFile.
406
- if not hasattr(self.hFile, '__del__'):
401
+ if not hasattr(self.hFile, "__del__"):
407
402
  self.close_handle()
408
403
 
409
404
  self.hFile = hFile
@@ -418,7 +413,7 @@ class Module (object):
418
413
  setting L{hFile} to C{None} should be enough.
419
414
  """
420
415
  try:
421
- if hasattr(self.hFile, 'close'):
416
+ if hasattr(self.hFile, "close"):
422
417
  self.hFile.close()
423
418
  elif self.hFile not in (None, win32.INVALID_HANDLE_VALUE):
424
419
  win32.CloseHandle(self.hFile)
@@ -443,7 +438,7 @@ class Module (object):
443
438
  finally:
444
439
  self.close_handle()
445
440
 
446
- #------------------------------------------------------------------------------
441
+ # ------------------------------------------------------------------------------
447
442
 
448
443
  # XXX FIXME
449
444
  # I've been told sometimes the debugging symbols APIs don't correctly
@@ -458,47 +453,38 @@ class Module (object):
458
453
  dwAccess = win32.PROCESS_QUERY_LIMITED_INFORMATION
459
454
  else:
460
455
  dwAccess = win32.PROCESS_QUERY_INFORMATION
461
- hProcess = self.get_process().get_handle(dwAccess)
462
- hFile = self.hFile
463
- BaseOfDll = self.get_base()
464
- SizeOfDll = self.get_size()
465
- Enumerator = self._SymbolEnumerator()
456
+ hProcess = self.get_process().get_handle(dwAccess)
457
+ hFile = self.hFile
458
+ BaseOfDll = self.get_base()
459
+ SizeOfDll = self.get_size()
460
+ Enumerator = self._SymbolEnumerator()
466
461
  try:
467
462
  win32.SymInitialize(hProcess)
468
463
  SymOptions = win32.SymGetOptions()
469
464
  SymOptions |= (
470
- win32.SYMOPT_ALLOW_ZERO_ADDRESS |
471
- win32.SYMOPT_CASE_INSENSITIVE |
472
- win32.SYMOPT_FAVOR_COMPRESSED |
473
- win32.SYMOPT_INCLUDE_32BIT_MODULES |
474
- win32.SYMOPT_UNDNAME
475
- )
476
- SymOptions &= ~(
477
- win32.SYMOPT_LOAD_LINES |
478
- win32.SYMOPT_NO_IMAGE_SEARCH |
479
- win32.SYMOPT_NO_CPP |
480
- win32.SYMOPT_IGNORE_NT_SYMPATH
465
+ win32.SYMOPT_ALLOW_ZERO_ADDRESS
466
+ | win32.SYMOPT_CASE_INSENSITIVE
467
+ | win32.SYMOPT_FAVOR_COMPRESSED
468
+ | win32.SYMOPT_INCLUDE_32BIT_MODULES
469
+ | win32.SYMOPT_UNDNAME
481
470
  )
471
+ SymOptions &= ~(win32.SYMOPT_LOAD_LINES | win32.SYMOPT_NO_IMAGE_SEARCH | win32.SYMOPT_NO_CPP | win32.SYMOPT_IGNORE_NT_SYMPATH)
482
472
  win32.SymSetOptions(SymOptions)
483
473
  try:
484
- win32.SymSetOptions(
485
- SymOptions | win32.SYMOPT_ALLOW_ABSOLUTE_SYMBOLS)
474
+ win32.SymSetOptions(SymOptions | win32.SYMOPT_ALLOW_ABSOLUTE_SYMBOLS)
486
475
  except WindowsError:
487
476
  pass
488
477
  try:
489
478
  try:
490
- success = win32.SymLoadModule64(
491
- hProcess, hFile, None, None, BaseOfDll, SizeOfDll)
479
+ success = win32.SymLoadModule64(hProcess, hFile, None, None, BaseOfDll, SizeOfDll)
492
480
  except WindowsError:
493
481
  success = 0
494
482
  if not success:
495
483
  ImageName = self.get_filename()
496
- success = win32.SymLoadModule64(
497
- hProcess, None, ImageName, None, BaseOfDll, SizeOfDll)
484
+ success = win32.SymLoadModule64(hProcess, None, ImageName, None, BaseOfDll, SizeOfDll)
498
485
  if success:
499
486
  try:
500
- win32.SymEnumerateSymbols64(
501
- hProcess, BaseOfDll, Enumerator)
487
+ win32.SymEnumerateSymbols64(hProcess, BaseOfDll, Enumerator)
502
488
  finally:
503
489
  win32.SymUnloadModule64(hProcess, BaseOfDll)
504
490
  finally:
@@ -549,7 +535,7 @@ class Module (object):
549
535
  self.load_symbols()
550
536
  return self.__symbols.__iter__()
551
537
 
552
- def resolve_symbol(self, symbol, bCaseSensitive = False):
538
+ def resolve_symbol(self, symbol, bCaseSensitive=False):
553
539
  """
554
540
  Resolves a debugging symbol's address.
555
541
 
@@ -564,10 +550,10 @@ class Module (object):
564
550
  @return: Memory address of symbol. C{None} if not found.
565
551
  """
566
552
  if bCaseSensitive:
567
- for (SymbolName, SymbolAddress, SymbolSize) in self.iter_symbols():
553
+ for SymbolName, SymbolAddress, SymbolSize in self.iter_symbols():
568
554
  if symbol == SymbolName:
569
555
  return SymbolAddress
570
- for (SymbolName, SymbolAddress, SymbolSize) in self.iter_symbols():
556
+ for SymbolName, SymbolAddress, SymbolSize in self.iter_symbols():
571
557
  try:
572
558
  SymbolName = win32.UnDecorateSymbolName(SymbolName)
573
559
  except Exception:
@@ -576,10 +562,10 @@ class Module (object):
576
562
  return SymbolAddress
577
563
  else:
578
564
  symbol = symbol.lower()
579
- for (SymbolName, SymbolAddress, SymbolSize) in self.iter_symbols():
565
+ for SymbolName, SymbolAddress, SymbolSize in self.iter_symbols():
580
566
  if symbol == SymbolName.lower():
581
567
  return SymbolAddress
582
- for (SymbolName, SymbolAddress, SymbolSize) in self.iter_symbols():
568
+ for SymbolName, SymbolAddress, SymbolSize in self.iter_symbols():
583
569
  try:
584
570
  SymbolName = win32.UnDecorateSymbolName(SymbolName)
585
571
  except Exception:
@@ -602,7 +588,7 @@ class Module (object):
602
588
  Returns C{None} if no symbol could be matched.
603
589
  """
604
590
  found = None
605
- for (SymbolName, SymbolAddress, SymbolSize) in self.iter_symbols():
591
+ for SymbolName, SymbolAddress, SymbolSize in self.iter_symbols():
606
592
  if SymbolAddress > address:
607
593
  continue
608
594
  if SymbolAddress + SymbolSize > address:
@@ -610,9 +596,9 @@ class Module (object):
610
596
  found = (SymbolName, SymbolAddress, SymbolSize)
611
597
  return found
612
598
 
613
- #------------------------------------------------------------------------------
599
+ # ------------------------------------------------------------------------------
614
600
 
615
- def get_label(self, function = None, offset = None):
601
+ def get_label(self, function=None, offset=None):
616
602
  """
617
603
  Retrieves the label for the given function of this module or the module
618
604
  base address if no function name is given.
@@ -628,7 +614,7 @@ class Module (object):
628
614
  """
629
615
  return _ModuleContainer.parse_label(self.get_name(), function, offset)
630
616
 
631
- def get_label_at_address(self, address, offset = None):
617
+ def get_label_at_address(self, address, offset=None):
632
618
  """
633
619
  Creates a label from the given memory address.
634
620
 
@@ -650,16 +636,16 @@ class Module (object):
650
636
  address = address + offset
651
637
 
652
638
  # Make the label relative to the base address if no match is found.
653
- module = self.get_name()
654
- function = None
655
- offset = address - self.get_base()
639
+ module = self.get_name()
640
+ function = None
641
+ offset = address - self.get_base()
656
642
 
657
643
  # Make the label relative to the entrypoint if no other match is found.
658
644
  # Skip if the entry point is unknown.
659
645
  start = self.get_entry_point()
660
646
  if start and start <= address:
661
- function = "start"
662
- offset = address - start
647
+ function = "start"
648
+ offset = address - start
663
649
 
664
650
  # Enumerate exported functions and debug symbols,
665
651
  # then find the closest match, if possible.
@@ -669,8 +655,8 @@ class Module (object):
669
655
  (SymbolName, SymbolAddress, SymbolSize) = symbol
670
656
  new_offset = address - SymbolAddress
671
657
  if new_offset <= offset:
672
- function = SymbolName
673
- offset = new_offset
658
+ function = SymbolName
659
+ offset = new_offset
674
660
  except WindowsError:
675
661
  pass
676
662
 
@@ -716,14 +702,12 @@ class Module (object):
716
702
 
717
703
  # If the DLL is already mapped locally, resolve the function.
718
704
  try:
719
- hlib = win32.GetModuleHandle(filename)
705
+ hlib = win32.GetModuleHandle(filename)
720
706
  address = win32.GetProcAddress(hlib, function)
721
707
  except WindowsError:
722
-
723
708
  # Load the DLL locally, resolve the function and unload it.
724
709
  try:
725
- hlib = win32.LoadLibraryEx(filename,
726
- win32.DONT_RESOLVE_DLL_REFERENCES)
710
+ hlib = win32.LoadLibraryEx(filename, win32.DONT_RESOLVE_DLL_REFERENCES)
727
711
  try:
728
712
  address = win32.GetProcAddress(hlib, function)
729
713
  finally:
@@ -770,7 +754,6 @@ class Module (object):
770
754
  if procedure:
771
755
  address = self.resolve(procedure)
772
756
  if address is None:
773
-
774
757
  # If it's a debug symbol, use the symbol.
775
758
  address = self.resolve_symbol(procedure)
776
759
 
@@ -794,7 +777,8 @@ class Module (object):
794
777
  address = address + offset
795
778
  return address
796
779
 
797
- #==============================================================================
780
+
781
+ # ==============================================================================
798
782
 
799
783
  # TODO
800
784
  # An alternative approach to the toolhelp32 snapshots: parsing the PEB and
@@ -802,7 +786,8 @@ class Module (object):
802
786
  # of toolhelp32 not working when the process hasn't finished initializing.
803
787
  # See: http://pferrie.host22.com/misc/lowlevel3.htm
804
788
 
805
- class _ModuleContainer (object):
789
+
790
+ class _ModuleContainer(object):
806
791
  """
807
792
  Encapsulates the capability to contain Module objects.
808
793
 
@@ -947,7 +932,7 @@ class _ModuleContainer (object):
947
932
  self.__initialize_snapshot()
948
933
  return len(self.__moduleDict)
949
934
 
950
- #------------------------------------------------------------------------------
935
+ # ------------------------------------------------------------------------------
951
936
 
952
937
  def get_module_by_name(self, modName):
953
938
  """
@@ -975,12 +960,12 @@ class _ModuleContainer (object):
975
960
  for lib in self.iter_modules():
976
961
  if modName == lib.get_filename().lower():
977
962
  return lib
978
- return None # Stop trying to match the name.
963
+ return None # Stop trying to match the name.
979
964
 
980
965
  # Get all the module names.
981
966
  # This prevents having to iterate through the module list
982
967
  # more than once.
983
- modDict = [ ( lib.get_name(), lib ) for lib in self.iter_modules() ]
968
+ modDict = [(lib.get_name(), lib) for lib in self.iter_modules()]
984
969
  modDict = dict(modDict)
985
970
 
986
971
  # modName is a base filename.
@@ -1020,13 +1005,13 @@ class _ModuleContainer (object):
1020
1005
  i = 0
1021
1006
  max_i = len(bases) - 1
1022
1007
  while i < max_i:
1023
- begin, end = bases[i:i+2]
1008
+ begin, end = bases[i : i + 2]
1024
1009
  if begin <= address < end:
1025
1010
  module = self.get_module(begin)
1026
- here = module.is_address_here(address)
1011
+ here = module.is_address_here(address)
1027
1012
  if here is False:
1028
1013
  break
1029
- else: # True or None
1014
+ else: # True or None
1030
1015
  return module
1031
1016
  i = i + 1
1032
1017
  return None
@@ -1057,35 +1042,32 @@ class _ModuleContainer (object):
1057
1042
  # It would seem easier to clear the snapshot first.
1058
1043
  # But then all open handles would be closed.
1059
1044
  found_bases = set()
1060
- with win32.CreateToolhelp32Snapshot(win32.TH32CS_SNAPMODULE,
1061
- dwProcessId) as hSnapshot:
1045
+ with win32.CreateToolhelp32Snapshot(win32.TH32CS_SNAPMODULE, dwProcessId) as hSnapshot:
1062
1046
  me = win32.Module32First(hSnapshot)
1063
1047
  while me is not None:
1064
1048
  lpBaseAddress = me.modBaseAddr
1065
- fileName = me.szExePath # full pathname
1049
+ fileName = me.szExePath # full pathname
1066
1050
  if not fileName:
1067
- fileName = me.szModule # filename only
1051
+ fileName = me.szModule # filename only
1068
1052
  if not fileName:
1069
1053
  fileName = None
1070
1054
  else:
1071
1055
  fileName = PathOperations.native_to_win32_pathname(fileName)
1072
1056
  found_bases.add(lpBaseAddress)
1073
- ## if not self.has_module(lpBaseAddress): # XXX triggers a scan
1057
+ ## if not self.has_module(lpBaseAddress): # XXX triggers a scan
1074
1058
  if lpBaseAddress not in self.__moduleDict:
1075
- aModule = Module(lpBaseAddress, fileName = fileName,
1076
- SizeOfImage = me.modBaseSize,
1077
- process = self)
1059
+ aModule = Module(lpBaseAddress, fileName=fileName, SizeOfImage=me.modBaseSize, process=self)
1078
1060
  self._add_module(aModule)
1079
1061
  else:
1080
1062
  aModule = self.get_module(lpBaseAddress)
1081
1063
  if not aModule.fileName:
1082
- aModule.fileName = fileName
1064
+ aModule.fileName = fileName
1083
1065
  if not aModule.SizeOfImage:
1084
1066
  aModule.SizeOfImage = me.modBaseSize
1085
1067
  if not aModule.process:
1086
- aModule.process = self
1068
+ aModule.process = self
1087
1069
  me = win32.Module32Next(hSnapshot)
1088
- ## for base in self.get_module_bases(): # XXX triggers a scan
1070
+ ## for base in self.get_module_bases(): # XXX triggers a scan
1089
1071
  for base in compat.keys(self.__moduleDict):
1090
1072
  if base not in found_bases:
1091
1073
  self._del_module(base)
@@ -1098,10 +1080,10 @@ class _ModuleContainer (object):
1098
1080
  aModule.clear()
1099
1081
  self.__moduleDict = dict()
1100
1082
 
1101
- #------------------------------------------------------------------------------
1083
+ # ------------------------------------------------------------------------------
1102
1084
 
1103
1085
  @staticmethod
1104
- def parse_label(module = None, function = None, offset = None):
1086
+ def parse_label(module=None, function=None, offset=None):
1105
1087
  """
1106
1088
  Creates a label from a module and a function name, plus an offset.
1107
1089
 
@@ -1139,9 +1121,9 @@ class _ModuleContainer (object):
1139
1121
  pass
1140
1122
 
1141
1123
  # Validate the parameters.
1142
- if module is not None and ('!' in module or '+' in module):
1124
+ if module is not None and ("!" in module or "+" in module):
1143
1125
  raise ValueError("Invalid module name: %s" % module)
1144
- if function is not None and ('!' in function or '+' in function):
1126
+ if function is not None and ("!" in function or "+" in function):
1145
1127
  raise ValueError("Invalid function name: %s" % function)
1146
1128
 
1147
1129
  # Parse the label.
@@ -1153,7 +1135,7 @@ class _ModuleContainer (object):
1153
1135
  label = "%s!%s" % (module, function)
1154
1136
  else:
1155
1137
  if offset:
1156
- ## label = "%s+0x%x!" % (module, offset)
1138
+ ## label = "%s+0x%x!" % (module, offset)
1157
1139
  label = "%s!0x%x" % (module, offset)
1158
1140
  else:
1159
1141
  label = "%s!" % module
@@ -1207,33 +1189,32 @@ class _ModuleContainer (object):
1207
1189
  if not label:
1208
1190
  label = "0x0"
1209
1191
  else:
1210
-
1211
1192
  # Remove all blanks.
1212
- label = label.replace(' ', '')
1213
- label = label.replace('\t', '')
1214
- label = label.replace('\r', '')
1215
- label = label.replace('\n', '')
1193
+ label = label.replace(" ", "")
1194
+ label = label.replace("\t", "")
1195
+ label = label.replace("\r", "")
1196
+ label = label.replace("\n", "")
1216
1197
 
1217
1198
  # Special case: empty label.
1218
1199
  if not label:
1219
1200
  label = "0x0"
1220
1201
 
1221
1202
  # * ! *
1222
- if '!' in label:
1203
+ if "!" in label:
1223
1204
  try:
1224
- module, function = label.split('!')
1205
+ module, function = label.split("!")
1225
1206
  except ValueError:
1226
1207
  raise ValueError("Malformed label: %s" % label)
1227
1208
 
1228
1209
  # module ! function
1229
1210
  if function:
1230
- if '+' in module:
1211
+ if "+" in module:
1231
1212
  raise ValueError("Malformed label: %s" % label)
1232
1213
 
1233
1214
  # module ! function + offset
1234
- if '+' in function:
1215
+ if "+" in function:
1235
1216
  try:
1236
- function, offset = function.split('+')
1217
+ function, offset = function.split("+")
1237
1218
  except ValueError:
1238
1219
  raise ValueError("Malformed label: %s" % label)
1239
1220
  try:
@@ -1241,19 +1222,17 @@ class _ModuleContainer (object):
1241
1222
  except ValueError:
1242
1223
  raise ValueError("Malformed label: %s" % label)
1243
1224
  else:
1244
-
1245
1225
  # module ! offset
1246
1226
  try:
1247
- offset = HexInput.integer(function)
1227
+ offset = HexInput.integer(function)
1248
1228
  function = None
1249
1229
  except ValueError:
1250
1230
  pass
1251
1231
  else:
1252
-
1253
1232
  # module + offset !
1254
- if '+' in module:
1233
+ if "+" in module:
1255
1234
  try:
1256
- module, offset = module.split('+')
1235
+ module, offset = module.split("+")
1257
1236
  except ValueError:
1258
1237
  raise ValueError("Malformed label: %s" % label)
1259
1238
  try:
@@ -1262,7 +1241,6 @@ class _ModuleContainer (object):
1262
1241
  raise ValueError("Malformed label: %s" % label)
1263
1242
 
1264
1243
  else:
1265
-
1266
1244
  # module !
1267
1245
  try:
1268
1246
  offset = HexInput.integer(module)
@@ -1273,20 +1251,19 @@ class _ModuleContainer (object):
1273
1251
  pass
1274
1252
 
1275
1253
  if not module:
1276
- module = None
1254
+ module = None
1277
1255
  if not function:
1278
1256
  function = None
1279
1257
 
1280
1258
  # *
1281
1259
  else:
1282
-
1283
1260
  # offset
1284
1261
  try:
1285
1262
  offset = HexInput.integer(label)
1286
1263
 
1287
1264
  # # ordinal
1288
1265
  except ValueError:
1289
- if label.startswith('#'):
1266
+ if label.startswith("#"):
1290
1267
  function = label
1291
1268
  try:
1292
1269
  HexInput.integer(function[1:])
@@ -1302,7 +1279,7 @@ class _ModuleContainer (object):
1302
1279
  raise ValueError("Ambiguous label: %s" % label)
1303
1280
 
1304
1281
  # Convert function ordinal strings into integers.
1305
- if function and function.startswith('#'):
1282
+ if function and function.startswith("#"):
1306
1283
  try:
1307
1284
  function = HexInput.integer(function[1:])
1308
1285
  except ValueError:
@@ -1352,31 +1329,30 @@ class _ModuleContainer (object):
1352
1329
  if not label:
1353
1330
  label = compat.b("0x0")
1354
1331
  else:
1355
-
1356
1332
  # Remove all blanks.
1357
- label = label.replace(compat.b(' '), compat.b(''))
1358
- label = label.replace(compat.b('\t'), compat.b(''))
1359
- label = label.replace(compat.b('\r'), compat.b(''))
1360
- label = label.replace(compat.b('\n'), compat.b(''))
1333
+ label = label.replace(compat.b(" "), compat.b(""))
1334
+ label = label.replace(compat.b("\t"), compat.b(""))
1335
+ label = label.replace(compat.b("\r"), compat.b(""))
1336
+ label = label.replace(compat.b("\n"), compat.b(""))
1361
1337
 
1362
1338
  # Special case: empty label.
1363
1339
  if not label:
1364
1340
  label = compat.b("0x0")
1365
1341
 
1366
1342
  # If an exclamation sign is present, we know we can parse it strictly.
1367
- if compat.b('!') in label:
1343
+ if compat.b("!") in label:
1368
1344
  return self.split_label_strict(label)
1369
1345
 
1370
- ## # Try to parse it strictly, on error do it the fuzzy way.
1371
- ## try:
1372
- ## return self.split_label(label)
1373
- ## except ValueError:
1374
- ## pass
1346
+ ## # Try to parse it strictly, on error do it the fuzzy way.
1347
+ ## try:
1348
+ ## return self.split_label(label)
1349
+ ## except ValueError:
1350
+ ## pass
1375
1351
 
1376
1352
  # * + offset
1377
- if compat.b('+') in label:
1353
+ if compat.b("+") in label:
1378
1354
  try:
1379
- prefix, offset = label.split(compat.b('+'))
1355
+ prefix, offset = label.split(compat.b("+"))
1380
1356
  except ValueError:
1381
1357
  raise ValueError("Malformed label: %s" % label)
1382
1358
  try:
@@ -1388,13 +1364,11 @@ class _ModuleContainer (object):
1388
1364
  # This parses both filenames and base addresses.
1389
1365
  modobj = self.get_module_by_name(label)
1390
1366
  if modobj:
1391
-
1392
1367
  # module
1393
1368
  # module + offset
1394
1369
  module = modobj.get_name()
1395
1370
 
1396
1371
  else:
1397
-
1398
1372
  # TODO
1399
1373
  # If 0xAAAAAAAA + 0xBBBBBBBB is given,
1400
1374
  # A is interpreted as a module base address,
@@ -1426,8 +1400,7 @@ class _ModuleContainer (object):
1426
1400
  # to prevent an infinite recursion if there's a bug here.
1427
1401
  try:
1428
1402
  new_label = self.get_label_at_address(offset)
1429
- module, function, offset = \
1430
- self.split_label_strict(new_label)
1403
+ module, function, offset = self.split_label_strict(new_label)
1431
1404
  except ValueError:
1432
1405
  pass
1433
1406
 
@@ -1437,7 +1410,7 @@ class _ModuleContainer (object):
1437
1410
  function = label
1438
1411
 
1439
1412
  # Convert function ordinal strings into integers.
1440
- if function and function.startswith(compat.b('#')):
1413
+ if function and function.startswith(compat.b("#")):
1441
1414
  try:
1442
1415
  function = HexInput.integer(function[1:])
1443
1416
  except ValueError:
@@ -1452,37 +1425,37 @@ class _ModuleContainer (object):
1452
1425
  @classmethod
1453
1426
  def split_label(cls, label):
1454
1427
  """
1455
- Splits a label into it's C{module}, C{function} and C{offset}
1456
- components, as used in L{parse_label}.
1428
+ Splits a label into it's C{module}, C{function} and C{offset}
1429
+ components, as used in L{parse_label}.
1457
1430
 
1458
- When called as a static method, the strict syntax mode is used::
1431
+ When called as a static method, the strict syntax mode is used::
1459
1432
 
1460
- winappdbg.Process.split_label( "kernel32!CreateFileA" )
1433
+ winappdbg.Process.split_label( "kernel32!CreateFileA" )
1461
1434
 
1462
- When called as an instance method, the fuzzy syntax mode is used::
1435
+ When called as an instance method, the fuzzy syntax mode is used::
1463
1436
 
1464
- aProcessInstance.split_label( "CreateFileA" )
1437
+ aProcessInstance.split_label( "CreateFileA" )
1465
1438
 
1466
- @see: L{split_label_strict}, L{split_label_fuzzy}
1439
+ @see: L{split_label_strict}, L{split_label_fuzzy}
1467
1440
 
1468
- @type label: str
1469
- @param label: Label to split.
1441
+ @type label: str
1442
+ @param label: Label to split.
1470
1443
 
1471
- @rtype: tuple( str or None, str or int or None, int or None )
1472
- @return:
1473
- Tuple containing the C{module} name,
1474
- the C{function} name or ordinal, and the C{offset} value.
1444
+ @rtype: tuple( str or None, str or int or None, int or None )
1445
+ @return:
1446
+ Tuple containing the C{module} name,
1447
+ the C{function} name or ordinal, and the C{offset} value.
1475
1448
 
1476
- If the label doesn't specify a module,
1477
- then C{module} is C{None}.
1449
+ If the label doesn't specify a module,
1450
+ then C{module} is C{None}.
1478
1451
 
1479
- If the label doesn't specify a function,
1480
- then C{function} is C{None}.
1452
+ If the label doesn't specify a function,
1453
+ then C{function} is C{None}.
1481
1454
 
1482
- If the label doesn't specify an offset,
1483
- then C{offset} is C{0}.
1455
+ If the label doesn't specify an offset,
1456
+ then C{offset} is C{0}.
1484
1457
 
1485
- @raise ValueError: The label is malformed.
1458
+ @raise ValueError: The label is malformed.
1486
1459
  """
1487
1460
 
1488
1461
  # XXX
@@ -1497,7 +1470,8 @@ When called as an instance method, the fuzzy syntax mode is used::
1497
1470
  def __use_fuzzy_mode(self, label):
1498
1471
  "@see: L{split_label}"
1499
1472
  return self.split_label_fuzzy(label)
1500
- ## __use_fuzzy_mode.__doc__ = split_label.__doc__
1473
+
1474
+ ## __use_fuzzy_mode.__doc__ = split_label.__doc__
1501
1475
 
1502
1476
  def sanitize_label(self, label):
1503
1477
  """
@@ -1548,9 +1522,7 @@ When called as an instance method, the fuzzy syntax mode is used::
1548
1522
  # Return the memory address.
1549
1523
  return address
1550
1524
 
1551
- def resolve_label_components(self, module = None,
1552
- function = None,
1553
- offset = None):
1525
+ def resolve_label_components(self, module=None, function=None, offset=None):
1554
1526
  """
1555
1527
  Resolve the memory address of the given module, function and/or offset.
1556
1528
 
@@ -1639,7 +1611,7 @@ When called as an instance method, the fuzzy syntax mode is used::
1639
1611
  address = address + offset
1640
1612
  return address
1641
1613
 
1642
- def get_label_at_address(self, address, offset = None):
1614
+ def get_label_at_address(self, address, offset=None):
1643
1615
  """
1644
1616
  Creates a label from the given memory address.
1645
1617
 
@@ -1665,7 +1637,7 @@ When called as an instance method, the fuzzy syntax mode is used::
1665
1637
  label = self.parse_label(None, None, address)
1666
1638
  return label
1667
1639
 
1668
- #------------------------------------------------------------------------------
1640
+ # ------------------------------------------------------------------------------
1669
1641
 
1670
1642
  # The memory addresses of system breakpoints are be cached, since they're
1671
1643
  # all in system libraries it's not likely they'll ever change their address
@@ -1693,8 +1665,7 @@ When called as an instance method, the fuzzy syntax mode is used::
1693
1665
  """
1694
1666
  address = self.__get_system_breakpoint("ntdll!g_dwLastErrorToBreakOn")
1695
1667
  if not address:
1696
- address = self.__get_system_breakpoint(
1697
- "kernel32!g_dwLastErrorToBreakOn")
1668
+ address = self.__get_system_breakpoint("kernel32!g_dwLastErrorToBreakOn")
1698
1669
  # cheat a little :)
1699
1670
  self.__system_breakpoints["ntdll!g_dwLastErrorToBreakOn"] = address
1700
1671
  return address
@@ -1712,8 +1683,7 @@ When called as an instance method, the fuzzy syntax mode is used::
1712
1683
  if address:
1713
1684
  module = self.get_module_at_address(address)
1714
1685
  if module:
1715
- return module.match_name("ntdll") or \
1716
- module.match_name("kernel32")
1686
+ return module.match_name("ntdll") or module.match_name("kernel32")
1717
1687
  return False
1718
1688
 
1719
1689
  # FIXME
@@ -1778,7 +1748,7 @@ When called as an instance method, the fuzzy syntax mode is used::
1778
1748
  """
1779
1749
  return self.__get_system_breakpoint("ntdll32!DbgUiRemoteBreakin")
1780
1750
 
1781
- #------------------------------------------------------------------------------
1751
+ # ------------------------------------------------------------------------------
1782
1752
 
1783
1753
  def load_symbols(self):
1784
1754
  """
@@ -1830,7 +1800,7 @@ When called as an instance method, the fuzzy syntax mode is used::
1830
1800
  for symbol in aModule.iter_symbols():
1831
1801
  yield symbol
1832
1802
 
1833
- def resolve_symbol(self, symbol, bCaseSensitive = False):
1803
+ def resolve_symbol(self, symbol, bCaseSensitive=False):
1834
1804
  """
1835
1805
  Resolves a debugging symbol's address.
1836
1806
 
@@ -1845,12 +1815,12 @@ When called as an instance method, the fuzzy syntax mode is used::
1845
1815
  @return: Memory address of symbol. C{None} if not found.
1846
1816
  """
1847
1817
  if bCaseSensitive:
1848
- for (SymbolName, SymbolAddress, SymbolSize) in self.iter_symbols():
1818
+ for SymbolName, SymbolAddress, SymbolSize in self.iter_symbols():
1849
1819
  if symbol == SymbolName:
1850
1820
  return SymbolAddress
1851
1821
  else:
1852
1822
  symbol = symbol.lower()
1853
- for (SymbolName, SymbolAddress, SymbolSize) in self.iter_symbols():
1823
+ for SymbolName, SymbolAddress, SymbolSize in self.iter_symbols():
1854
1824
  if symbol == SymbolName.lower():
1855
1825
  return SymbolAddress
1856
1826
 
@@ -1871,7 +1841,7 @@ When called as an instance method, the fuzzy syntax mode is used::
1871
1841
  # Any module may have symbols pointing anywhere in memory, so there's
1872
1842
  # no easy way to optimize this. I guess we're stuck with brute force.
1873
1843
  found = None
1874
- for (SymbolName, SymbolAddress, SymbolSize) in self.iter_symbols():
1844
+ for SymbolName, SymbolAddress, SymbolSize in self.iter_symbols():
1875
1845
  if SymbolAddress > address:
1876
1846
  continue
1877
1847
 
@@ -1885,7 +1855,8 @@ When called as an instance method, the fuzzy syntax mode is used::
1885
1855
  else:
1886
1856
  found = (SymbolName, SymbolAddress, SymbolSize)
1887
1857
  return found
1888
- #------------------------------------------------------------------------------
1858
+
1859
+ # ------------------------------------------------------------------------------
1889
1860
 
1890
1861
  # XXX _notify_* methods should not trigger a scan
1891
1862
 
@@ -1896,17 +1867,17 @@ When called as an instance method, the fuzzy syntax mode is used::
1896
1867
  @type aModule: L{Module}
1897
1868
  @param aModule: Module object.
1898
1869
  """
1899
- ## if not isinstance(aModule, Module):
1900
- ## if hasattr(aModule, '__class__'):
1901
- ## typename = aModule.__class__.__name__
1902
- ## else:
1903
- ## typename = str(type(aModule))
1904
- ## msg = "Expected Module, got %s instead" % typename
1905
- ## raise TypeError(msg)
1870
+ ## if not isinstance(aModule, Module):
1871
+ ## if hasattr(aModule, '__class__'):
1872
+ ## typename = aModule.__class__.__name__
1873
+ ## else:
1874
+ ## typename = str(type(aModule))
1875
+ ## msg = "Expected Module, got %s instead" % typename
1876
+ ## raise TypeError(msg)
1906
1877
  lpBaseOfDll = aModule.get_base()
1907
- ## if lpBaseOfDll in self.__moduleDict:
1908
- ## msg = "Module already exists: %d" % lpBaseOfDll
1909
- ## raise KeyError(msg)
1878
+ ## if lpBaseOfDll in self.__moduleDict:
1879
+ ## msg = "Module already exists: %d" % lpBaseOfDll
1880
+ ## raise KeyError(msg)
1910
1881
  aModule.set_process(self)
1911
1882
  self.__moduleDict[lpBaseOfDll] = aModule
1912
1883
 
@@ -1925,7 +1896,7 @@ When called as an instance method, the fuzzy syntax mode is used::
1925
1896
  msg = "Unknown base address %d" % HexDump.address(lpBaseOfDll)
1926
1897
  warnings.warn(msg, RuntimeWarning)
1927
1898
  if aModule:
1928
- aModule.clear() # remove circular references
1899
+ aModule.clear() # remove circular references
1929
1900
 
1930
1901
  def __add_loaded_module(self, event):
1931
1902
  """
@@ -1935,29 +1906,25 @@ When called as an instance method, the fuzzy syntax mode is used::
1935
1906
  @param event: Event object.
1936
1907
  """
1937
1908
  lpBaseOfDll = event.get_module_base()
1938
- hFile = event.get_file_handle()
1939
- ## if not self.has_module(lpBaseOfDll): # XXX this would trigger a scan
1909
+ hFile = event.get_file_handle()
1910
+ ## if not self.has_module(lpBaseOfDll): # XXX this would trigger a scan
1940
1911
  if lpBaseOfDll not in self.__moduleDict:
1941
1912
  fileName = event.get_filename()
1942
1913
  if not fileName:
1943
1914
  fileName = None
1944
- if hasattr(event, 'get_start_address'):
1915
+ if hasattr(event, "get_start_address"):
1945
1916
  EntryPoint = event.get_start_address()
1946
1917
  else:
1947
1918
  EntryPoint = None
1948
- aModule = Module(lpBaseOfDll, hFile, fileName = fileName,
1949
- EntryPoint = EntryPoint,
1950
- process = self)
1919
+ aModule = Module(lpBaseOfDll, hFile, fileName=fileName, EntryPoint=EntryPoint, process=self)
1951
1920
  self._add_module(aModule)
1952
1921
  else:
1953
1922
  aModule = self.get_module(lpBaseOfDll)
1954
- if not aModule.hFile and hFile not in (None, 0,
1955
- win32.INVALID_HANDLE_VALUE):
1923
+ if not aModule.hFile and hFile not in (None, 0, win32.INVALID_HANDLE_VALUE):
1956
1924
  aModule.hFile = hFile
1957
1925
  if not aModule.process:
1958
1926
  aModule.process = self
1959
- if aModule.EntryPoint is None and \
1960
- hasattr(event, 'get_start_address'):
1927
+ if aModule.EntryPoint is None and hasattr(event, "get_start_address"):
1961
1928
  aModule.EntryPoint = event.get_start_address()
1962
1929
  if not aModule.fileName:
1963
1930
  fileName = event.get_filename()
@@ -2010,7 +1977,7 @@ When called as an instance method, the fuzzy syntax mode is used::
2010
1977
  @return: C{True} to call the user-defined handle, C{False} otherwise.
2011
1978
  """
2012
1979
  lpBaseOfDll = event.get_module_base()
2013
- ## if self.has_module(lpBaseOfDll): # XXX this would trigger a scan
1980
+ ## if self.has_module(lpBaseOfDll): # XXX this would trigger a scan
2014
1981
  if lpBaseOfDll in self.__moduleDict:
2015
1982
  self._del_module(lpBaseOfDll)
2016
1983
  return True