debugpy 1.8.5__zip → 1.8.7__zip

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (340) hide show
  1. {debugpy-1.8.5/src/debugpy.egg-info → debugpy-1.8.7}/PKG-INFO +1 -1
  2. {debugpy-1.8.5 → debugpy-1.8.7}/src/debugpy/_vendored/pydevd/_pydev_bundle/_pydev_calltip_util.py +19 -21
  3. {debugpy-1.8.5 → debugpy-1.8.7}/src/debugpy/_vendored/pydevd/_pydev_bundle/_pydev_completer.py +30 -30
  4. {debugpy-1.8.5 → debugpy-1.8.7}/src/debugpy/_vendored/pydevd/_pydev_bundle/_pydev_execfile.py +3 -1
  5. debugpy-1.8.7/src/debugpy/_vendored/pydevd/_pydev_bundle/_pydev_filesystem_encoding.py +43 -0
  6. {debugpy-1.8.5 → debugpy-1.8.7}/src/debugpy/_vendored/pydevd/_pydev_bundle/_pydev_getopt.py +35 -32
  7. {debugpy-1.8.5 → debugpy-1.8.7}/src/debugpy/_vendored/pydevd/_pydev_bundle/_pydev_imports_tipper.py +83 -84
  8. {debugpy-1.8.5 → debugpy-1.8.7}/src/debugpy/_vendored/pydevd/_pydev_bundle/_pydev_jy_imports_tipper.py +92 -99
  9. {debugpy-1.8.5 → debugpy-1.8.7}/src/debugpy/_vendored/pydevd/_pydev_bundle/_pydev_log.py +2 -3
  10. {debugpy-1.8.5 → debugpy-1.8.7}/src/debugpy/_vendored/pydevd/_pydev_bundle/_pydev_saved_modules.py +51 -27
  11. {debugpy-1.8.5 → debugpy-1.8.7}/src/debugpy/_vendored/pydevd/_pydev_bundle/_pydev_sys_patch.py +11 -7
  12. {debugpy-1.8.5 → debugpy-1.8.7}/src/debugpy/_vendored/pydevd/_pydev_bundle/_pydev_tipper_common.py +6 -5
  13. {debugpy-1.8.5 → debugpy-1.8.7}/src/debugpy/_vendored/pydevd/_pydev_bundle/fsnotify/__init__.py +34 -38
  14. {debugpy-1.8.5 → debugpy-1.8.7}/src/debugpy/_vendored/pydevd/_pydev_bundle/pydev_console_utils.py +71 -69
  15. {debugpy-1.8.5 → debugpy-1.8.7}/src/debugpy/_vendored/pydevd/_pydev_bundle/pydev_import_hook.py +1 -3
  16. {debugpy-1.8.5 → debugpy-1.8.7}/src/debugpy/_vendored/pydevd/_pydev_bundle/pydev_imports.py +0 -1
  17. {debugpy-1.8.5 → debugpy-1.8.7}/src/debugpy/_vendored/pydevd/_pydev_bundle/pydev_ipython_console.py +14 -16
  18. {debugpy-1.8.5 → debugpy-1.8.7}/src/debugpy/_vendored/pydevd/_pydev_bundle/pydev_ipython_console_011.py +81 -93
  19. {debugpy-1.8.5 → debugpy-1.8.7}/src/debugpy/_vendored/pydevd/_pydev_bundle/pydev_is_thread_alive.py +3 -3
  20. {debugpy-1.8.5 → debugpy-1.8.7}/src/debugpy/_vendored/pydevd/_pydev_bundle/pydev_localhost.py +9 -8
  21. {debugpy-1.8.5 → debugpy-1.8.7}/src/debugpy/_vendored/pydevd/_pydev_bundle/pydev_log.py +33 -25
  22. {debugpy-1.8.5 → debugpy-1.8.7}/src/debugpy/_vendored/pydevd/_pydev_bundle/pydev_monkey.py +183 -170
  23. {debugpy-1.8.5 → debugpy-1.8.7}/src/debugpy/_vendored/pydevd/_pydev_bundle/pydev_monkey_qt.py +33 -29
  24. {debugpy-1.8.5 → debugpy-1.8.7}/src/debugpy/_vendored/pydevd/_pydev_bundle/pydev_override.py +6 -4
  25. {debugpy-1.8.5 → debugpy-1.8.7}/src/debugpy/_vendored/pydevd/_pydev_bundle/pydev_umd.py +19 -18
  26. {debugpy-1.8.5 → debugpy-1.8.7}/src/debugpy/_vendored/pydevd/_pydev_bundle/pydev_versioncheck.py +3 -3
  27. {debugpy-1.8.5 → debugpy-1.8.7}/src/debugpy/_vendored/pydevd/_pydev_runfiles/pydev_runfiles.py +165 -138
  28. debugpy-1.8.7/src/debugpy/_vendored/pydevd/_pydev_runfiles/pydev_runfiles_coverage.py +77 -0
  29. {debugpy-1.8.5 → debugpy-1.8.7}/src/debugpy/_vendored/pydevd/_pydev_runfiles/pydev_runfiles_nose.py +35 -36
  30. {debugpy-1.8.5 → debugpy-1.8.7}/src/debugpy/_vendored/pydevd/_pydev_runfiles/pydev_runfiles_parallel.py +22 -23
  31. {debugpy-1.8.5 → debugpy-1.8.7}/src/debugpy/_vendored/pydevd/_pydev_runfiles/pydev_runfiles_parallel_client.py +37 -57
  32. {debugpy-1.8.5 → debugpy-1.8.7}/src/debugpy/_vendored/pydevd/_pydev_runfiles/pydev_runfiles_pytest2.py +54 -52
  33. {debugpy-1.8.5 → debugpy-1.8.7}/src/debugpy/_vendored/pydevd/_pydev_runfiles/pydev_runfiles_unittest.py +28 -37
  34. {debugpy-1.8.5 → debugpy-1.8.7}/src/debugpy/_vendored/pydevd/_pydev_runfiles/pydev_runfiles_xml_rpc.py +56 -53
  35. debugpy-1.8.7/src/debugpy/_vendored/pydevd/_pydevd_bundle/_debug_adapter/__main__pydevd_gen_debug_adapter_protocol.py +604 -0
  36. {debugpy-1.8.5 → debugpy-1.8.7}/src/debugpy/_vendored/pydevd/_pydevd_bundle/_debug_adapter/debugProtocol.json +551 -445
  37. {debugpy-1.8.5 → debugpy-1.8.7}/src/debugpy/_vendored/pydevd/_pydevd_bundle/_debug_adapter/pydevd_base_schema.py +25 -29
  38. debugpy-1.8.7/src/debugpy/_vendored/pydevd/_pydevd_bundle/_debug_adapter/pydevd_schema.py +17458 -0
  39. {debugpy-1.8.5 → debugpy-1.8.7}/src/debugpy/_vendored/pydevd/_pydevd_bundle/_debug_adapter/pydevd_schema_log.py +11 -12
  40. {debugpy-1.8.5 → debugpy-1.8.7}/src/debugpy/_vendored/pydevd/_pydevd_bundle/pydevconsole_code.py +18 -19
  41. debugpy-1.8.7/src/debugpy/_vendored/pydevd/_pydevd_bundle/pydevd_additional_thread_info.py +41 -0
  42. debugpy-1.8.7/src/debugpy/_vendored/pydevd/_pydevd_bundle/pydevd_additional_thread_info_regular.py +328 -0
  43. {debugpy-1.8.5 → debugpy-1.8.7}/src/debugpy/_vendored/pydevd/_pydevd_bundle/pydevd_api.py +263 -214
  44. {debugpy-1.8.5 → debugpy-1.8.7}/src/debugpy/_vendored/pydevd/_pydevd_bundle/pydevd_breakpoints.py +7 -10
  45. {debugpy-1.8.5 → debugpy-1.8.7}/src/debugpy/_vendored/pydevd/_pydevd_bundle/pydevd_bytecode_utils.py +187 -92
  46. debugpy-1.8.7/src/debugpy/_vendored/pydevd/_pydevd_bundle/pydevd_bytecode_utils_py311.py +105 -0
  47. {debugpy-1.8.5 → debugpy-1.8.7}/src/debugpy/_vendored/pydevd/_pydevd_bundle/pydevd_code_to_source.py +46 -51
  48. {debugpy-1.8.5 → debugpy-1.8.7}/src/debugpy/_vendored/pydevd/_pydevd_bundle/pydevd_collect_bytecode_info.py +239 -176
  49. {debugpy-1.8.5 → debugpy-1.8.7}/src/debugpy/_vendored/pydevd/_pydevd_bundle/pydevd_comm.py +370 -297
  50. {debugpy-1.8.5 → debugpy-1.8.7}/src/debugpy/_vendored/pydevd/_pydevd_bundle/pydevd_comm_constants.py +78 -86
  51. {debugpy-1.8.5 → debugpy-1.8.7}/src/debugpy/_vendored/pydevd/_pydevd_bundle/pydevd_command_line_handling.py +55 -59
  52. {debugpy-1.8.5 → debugpy-1.8.7}/src/debugpy/_vendored/pydevd/_pydevd_bundle/pydevd_concurrency_analyser/pydevd_concurrency_logger.py +194 -58
  53. {debugpy-1.8.5 → debugpy-1.8.7}/src/debugpy/_vendored/pydevd/_pydevd_bundle/pydevd_concurrency_analyser/pydevd_thread_wrappers.py +2 -3
  54. {debugpy-1.8.5 → debugpy-1.8.7}/src/debugpy/_vendored/pydevd/_pydevd_bundle/pydevd_console.py +18 -23
  55. {debugpy-1.8.5 → debugpy-1.8.7}/src/debugpy/_vendored/pydevd/_pydevd_bundle/pydevd_constants.py +159 -127
  56. {debugpy-1.8.5 → debugpy-1.8.7}/src/debugpy/_vendored/pydevd/_pydevd_bundle/pydevd_custom_frames.py +10 -12
  57. debugpy-1.8.7/src/debugpy/_vendored/pydevd/_pydevd_bundle/pydevd_cython.c +55527 -0
  58. {debugpy-1.8.5 → debugpy-1.8.7}/src/debugpy/_vendored/pydevd/_pydevd_bundle/pydevd_cython.pxd +15 -0
  59. {debugpy-1.8.5 → debugpy-1.8.7}/src/debugpy/_vendored/pydevd/_pydevd_bundle/pydevd_cython.pyx +803 -511
  60. {debugpy-1.8.5 → debugpy-1.8.7}/src/debugpy/_vendored/pydevd/_pydevd_bundle/pydevd_cython_wrapper.py +18 -7
  61. {debugpy-1.8.5 → debugpy-1.8.7}/src/debugpy/_vendored/pydevd/_pydevd_bundle/pydevd_daemon_thread.py +32 -24
  62. {debugpy-1.8.5 → debugpy-1.8.7}/src/debugpy/_vendored/pydevd/_pydevd_bundle/pydevd_defaults.py +11 -13
  63. {debugpy-1.8.5 → debugpy-1.8.7}/src/debugpy/_vendored/pydevd/_pydevd_bundle/pydevd_dont_trace.py +16 -16
  64. {debugpy-1.8.5 → debugpy-1.8.7}/src/debugpy/_vendored/pydevd/_pydevd_bundle/pydevd_dont_trace_files.py +27 -2
  65. {debugpy-1.8.5 → debugpy-1.8.7}/src/debugpy/_vendored/pydevd/_pydevd_bundle/pydevd_exec2.py +1 -1
  66. {debugpy-1.8.5 → debugpy-1.8.7}/src/debugpy/_vendored/pydevd/_pydevd_bundle/pydevd_extension_api.py +4 -5
  67. {debugpy-1.8.5 → debugpy-1.8.7}/src/debugpy/_vendored/pydevd/_pydevd_bundle/pydevd_extension_utils.py +8 -10
  68. {debugpy-1.8.5 → debugpy-1.8.7}/src/debugpy/_vendored/pydevd/_pydevd_bundle/pydevd_filtering.py +50 -45
  69. {debugpy-1.8.5 → debugpy-1.8.7}/src/debugpy/_vendored/pydevd/_pydevd_bundle/pydevd_frame.py +462 -407
  70. {debugpy-1.8.5 → debugpy-1.8.7}/src/debugpy/_vendored/pydevd/_pydevd_bundle/pydevd_frame_utils.py +69 -61
  71. {debugpy-1.8.5 → debugpy-1.8.7}/src/debugpy/_vendored/pydevd/_pydevd_bundle/pydevd_gevent_integration.py +14 -16
  72. {debugpy-1.8.5 → debugpy-1.8.7}/src/debugpy/_vendored/pydevd/_pydevd_bundle/pydevd_import_class.py +27 -25
  73. {debugpy-1.8.5 → debugpy-1.8.7}/src/debugpy/_vendored/pydevd/_pydevd_bundle/pydevd_io.py +40 -42
  74. debugpy-1.8.7/src/debugpy/_vendored/pydevd/_pydevd_bundle/pydevd_json_debug_options.py +200 -0
  75. {debugpy-1.8.5 → debugpy-1.8.7}/src/debugpy/_vendored/pydevd/_pydevd_bundle/pydevd_net_command.py +20 -19
  76. {debugpy-1.8.5 → debugpy-1.8.7}/src/debugpy/_vendored/pydevd/_pydevd_bundle/pydevd_net_command_factory_json.py +199 -108
  77. {debugpy-1.8.5 → debugpy-1.8.7}/src/debugpy/_vendored/pydevd/_pydevd_bundle/pydevd_net_command_factory_xml.py +121 -73
  78. debugpy-1.8.7/src/debugpy/_vendored/pydevd/_pydevd_bundle/pydevd_plugin_utils.py +208 -0
  79. {debugpy-1.8.5 → debugpy-1.8.7}/src/debugpy/_vendored/pydevd/_pydevd_bundle/pydevd_process_net_command.py +206 -159
  80. {debugpy-1.8.5 → debugpy-1.8.7}/src/debugpy/_vendored/pydevd/_pydevd_bundle/pydevd_process_net_command_json.py +346 -334
  81. {debugpy-1.8.5 → debugpy-1.8.7}/src/debugpy/_vendored/pydevd/_pydevd_bundle/pydevd_referrers.py +75 -80
  82. {debugpy-1.8.5 → debugpy-1.8.7}/src/debugpy/_vendored/pydevd/_pydevd_bundle/pydevd_reload.py +35 -35
  83. {debugpy-1.8.5 → debugpy-1.8.7}/src/debugpy/_vendored/pydevd/_pydevd_bundle/pydevd_resolver.py +116 -124
  84. {debugpy-1.8.5 → debugpy-1.8.7}/src/debugpy/_vendored/pydevd/_pydevd_bundle/pydevd_runpy.py +44 -58
  85. {debugpy-1.8.5 → debugpy-1.8.7}/src/debugpy/_vendored/pydevd/_pydevd_bundle/pydevd_safe_repr.py +51 -55
  86. {debugpy-1.8.5 → debugpy-1.8.7}/src/debugpy/_vendored/pydevd/_pydevd_bundle/pydevd_save_locals.py +4 -2
  87. {debugpy-1.8.5 → debugpy-1.8.7}/src/debugpy/_vendored/pydevd/_pydevd_bundle/pydevd_signature.py +24 -24
  88. {debugpy-1.8.5 → debugpy-1.8.7}/src/debugpy/_vendored/pydevd/_pydevd_bundle/pydevd_source_mapping.py +19 -20
  89. {debugpy-1.8.5 → debugpy-1.8.7}/src/debugpy/_vendored/pydevd/_pydevd_bundle/pydevd_stackless.py +45 -49
  90. {debugpy-1.8.5 → debugpy-1.8.7}/src/debugpy/_vendored/pydevd/_pydevd_bundle/pydevd_suspended_frames.py +61 -58
  91. {debugpy-1.8.5 → debugpy-1.8.7}/src/debugpy/_vendored/pydevd/_pydevd_bundle/pydevd_thread_lifecycle.py +23 -13
  92. {debugpy-1.8.5 → debugpy-1.8.7}/src/debugpy/_vendored/pydevd/_pydevd_bundle/pydevd_timeout.py +29 -31
  93. {debugpy-1.8.5 → debugpy-1.8.7}/src/debugpy/_vendored/pydevd/_pydevd_bundle/pydevd_trace_dispatch.py +41 -11
  94. {debugpy-1.8.5 → debugpy-1.8.7}/src/debugpy/_vendored/pydevd/_pydevd_bundle/pydevd_trace_dispatch_regular.py +117 -55
  95. {debugpy-1.8.5 → debugpy-1.8.7}/src/debugpy/_vendored/pydevd/_pydevd_bundle/pydevd_traceproperty.py +11 -14
  96. {debugpy-1.8.5 → debugpy-1.8.7}/src/debugpy/_vendored/pydevd/_pydevd_bundle/pydevd_utils.py +90 -89
  97. {debugpy-1.8.5 → debugpy-1.8.7}/src/debugpy/_vendored/pydevd/_pydevd_bundle/pydevd_vars.py +106 -97
  98. debugpy-1.8.7/src/debugpy/_vendored/pydevd/_pydevd_bundle/pydevd_vm_type.py +40 -0
  99. {debugpy-1.8.5 → debugpy-1.8.7}/src/debugpy/_vendored/pydevd/_pydevd_bundle/pydevd_xml.py +56 -46
  100. {debugpy-1.8.5 → debugpy-1.8.7}/src/debugpy/_vendored/pydevd/_pydevd_frame_eval/pydevd_frame_eval_cython_wrapper.py +5 -5
  101. debugpy-1.8.7/src/debugpy/_vendored/pydevd/_pydevd_frame_eval/pydevd_frame_eval_main.py +71 -0
  102. {debugpy-1.8.5 → debugpy-1.8.7}/src/debugpy/_vendored/pydevd/_pydevd_frame_eval/pydevd_frame_evaluator.c +11165 -5326
  103. {debugpy-1.8.5 → debugpy-1.8.7}/src/debugpy/_vendored/pydevd/_pydevd_frame_eval/pydevd_frame_tracing.py +5 -6
  104. {debugpy-1.8.5 → debugpy-1.8.7}/src/debugpy/_vendored/pydevd/_pydevd_frame_eval/pydevd_modify_bytecode.py +53 -56
  105. {debugpy-1.8.5 → debugpy-1.8.7}/src/debugpy/_vendored/pydevd/_pydevd_frame_eval/vendored/bytecode/__init__.py +1 -0
  106. {debugpy-1.8.5 → debugpy-1.8.7}/src/debugpy/_vendored/pydevd/_pydevd_frame_eval/vendored/bytecode/bytecode.py +4 -6
  107. {debugpy-1.8.5 → debugpy-1.8.7}/src/debugpy/_vendored/pydevd/_pydevd_frame_eval/vendored/bytecode/cfg.py +6 -26
  108. {debugpy-1.8.5 → debugpy-1.8.7}/src/debugpy/_vendored/pydevd/_pydevd_frame_eval/vendored/bytecode/concrete.py +7 -21
  109. {debugpy-1.8.5 → debugpy-1.8.7}/src/debugpy/_vendored/pydevd/_pydevd_frame_eval/vendored/bytecode/flags.py +5 -24
  110. {debugpy-1.8.5 → debugpy-1.8.7}/src/debugpy/_vendored/pydevd/_pydevd_frame_eval/vendored/bytecode/instr.py +10 -34
  111. {debugpy-1.8.5 → debugpy-1.8.7}/src/debugpy/_vendored/pydevd/_pydevd_frame_eval/vendored/bytecode/peephole_opt.py +1 -4
  112. {debugpy-1.8.5 → debugpy-1.8.7}/src/debugpy/_vendored/pydevd/_pydevd_frame_eval/vendored/bytecode/tests/__init__.py +2 -6
  113. {debugpy-1.8.5 → debugpy-1.8.7}/src/debugpy/_vendored/pydevd/_pydevd_frame_eval/vendored/bytecode/tests/test_bytecode.py +3 -5
  114. {debugpy-1.8.5 → debugpy-1.8.7}/src/debugpy/_vendored/pydevd/_pydevd_frame_eval/vendored/bytecode/tests/test_cfg.py +11 -31
  115. {debugpy-1.8.5 → debugpy-1.8.7}/src/debugpy/_vendored/pydevd/_pydevd_frame_eval/vendored/bytecode/tests/test_code.py +2 -2
  116. {debugpy-1.8.5 → debugpy-1.8.7}/src/debugpy/_vendored/pydevd/_pydevd_frame_eval/vendored/bytecode/tests/test_concrete.py +14 -41
  117. {debugpy-1.8.5 → debugpy-1.8.7}/src/debugpy/_vendored/pydevd/_pydevd_frame_eval/vendored/bytecode/tests/test_flags.py +2 -4
  118. {debugpy-1.8.5 → debugpy-1.8.7}/src/debugpy/_vendored/pydevd/_pydevd_frame_eval/vendored/bytecode/tests/test_instr.py +7 -18
  119. {debugpy-1.8.5 → debugpy-1.8.7}/src/debugpy/_vendored/pydevd/_pydevd_frame_eval/vendored/bytecode/tests/test_misc.py +6 -18
  120. {debugpy-1.8.5 → debugpy-1.8.7}/src/debugpy/_vendored/pydevd/_pydevd_frame_eval/vendored/bytecode/tests/test_peephole_opt.py +7 -18
  121. {debugpy-1.8.5 → debugpy-1.8.7}/src/debugpy/_vendored/pydevd/_pydevd_frame_eval/vendored/bytecode/tests/util_annotation.py +1 -3
  122. {debugpy-1.8.5 → debugpy-1.8.7}/src/debugpy/_vendored/pydevd/_pydevd_frame_eval/vendored/pydevd_fix_code.py +14 -19
  123. debugpy-1.8.7/src/debugpy/_vendored/pydevd/_pydevd_sys_monitoring/_pydevd_sys_monitoring.py +1929 -0
  124. debugpy-1.8.7/src/debugpy/_vendored/pydevd/_pydevd_sys_monitoring/_pydevd_sys_monitoring_cython.c +43253 -0
  125. debugpy-1.8.7/src/debugpy/_vendored/pydevd/_pydevd_sys_monitoring/_pydevd_sys_monitoring_cython.pxd +46 -0
  126. debugpy-1.8.7/src/debugpy/_vendored/pydevd/_pydevd_sys_monitoring/_pydevd_sys_monitoring_cython.pyx +1935 -0
  127. debugpy-1.8.7/src/debugpy/_vendored/pydevd/_pydevd_sys_monitoring/pydevd_sys_monitoring.py +16 -0
  128. {debugpy-1.8.5 → debugpy-1.8.7}/src/debugpy/_vendored/pydevd/pydev_app_engine_debug_startup.py +12 -11
  129. {debugpy-1.8.5 → debugpy-1.8.7}/src/debugpy/_vendored/pydevd/pydev_coverage.py +30 -32
  130. {debugpy-1.8.5 → debugpy-1.8.7}/src/debugpy/_vendored/pydevd/pydev_ipython/inputhook.py +58 -54
  131. {debugpy-1.8.5 → debugpy-1.8.7}/src/debugpy/_vendored/pydevd/pydev_ipython/inputhookglut.py +20 -24
  132. {debugpy-1.8.5 → debugpy-1.8.7}/src/debugpy/_vendored/pydevd/pydev_ipython/inputhookgtk.py +8 -7
  133. {debugpy-1.8.5 → debugpy-1.8.7}/src/debugpy/_vendored/pydevd/pydev_ipython/inputhookgtk3.py +8 -6
  134. {debugpy-1.8.5 → debugpy-1.8.7}/src/debugpy/_vendored/pydevd/pydev_ipython/inputhookpyglet.py +11 -8
  135. {debugpy-1.8.5 → debugpy-1.8.7}/src/debugpy/_vendored/pydevd/pydev_ipython/inputhookqt4.py +21 -18
  136. {debugpy-1.8.5 → debugpy-1.8.7}/src/debugpy/_vendored/pydevd/pydev_ipython/inputhookqt5.py +17 -15
  137. {debugpy-1.8.5 → debugpy-1.8.7}/src/debugpy/_vendored/pydevd/pydev_ipython/inputhookqt6.py +17 -15
  138. {debugpy-1.8.5 → debugpy-1.8.7}/src/debugpy/_vendored/pydevd/pydev_ipython/inputhooktk.py +6 -4
  139. {debugpy-1.8.5 → debugpy-1.8.7}/src/debugpy/_vendored/pydevd/pydev_ipython/inputhookwx.py +14 -10
  140. {debugpy-1.8.5 → debugpy-1.8.7}/src/debugpy/_vendored/pydevd/pydev_ipython/matplotlibtools.py +30 -26
  141. debugpy-1.8.7/src/debugpy/_vendored/pydevd/pydev_ipython/qt.py +24 -0
  142. {debugpy-1.8.5 → debugpy-1.8.7}/src/debugpy/_vendored/pydevd/pydev_ipython/qt_for_kernel.py +37 -34
  143. {debugpy-1.8.5 → debugpy-1.8.7}/src/debugpy/_vendored/pydevd/pydev_ipython/qt_loaders.py +86 -73
  144. {debugpy-1.8.5 → debugpy-1.8.7}/src/debugpy/_vendored/pydevd/pydev_ipython/version.py +7 -7
  145. debugpy-1.8.7/src/debugpy/_vendored/pydevd/pydev_pysrc.py +1 -0
  146. {debugpy-1.8.5 → debugpy-1.8.7}/src/debugpy/_vendored/pydevd/pydev_run_in_console.py +23 -24
  147. debugpy-1.8.7/src/debugpy/_vendored/pydevd/pydev_sitecustomize/sitecustomize.py +267 -0
  148. {debugpy-1.8.5 → debugpy-1.8.7}/src/debugpy/_vendored/pydevd/pydevconsole.py +55 -47
  149. {debugpy-1.8.5 → debugpy-1.8.7}/src/debugpy/_vendored/pydevd/pydevd.py +732 -508
  150. debugpy-1.8.7/src/debugpy/_vendored/pydevd/pydevd_attach_to_process/_always_live_program.py +40 -0
  151. {debugpy-1.8.5 → debugpy-1.8.7}/src/debugpy/_vendored/pydevd/pydevd_attach_to_process/_check.py +1 -0
  152. debugpy-1.8.7/src/debugpy/_vendored/pydevd/pydevd_attach_to_process/_test_attach_to_process.py +11 -0
  153. debugpy-1.8.7/src/debugpy/_vendored/pydevd/pydevd_attach_to_process/_test_attach_to_process_linux.py +75 -0
  154. {debugpy-1.8.5 → debugpy-1.8.7}/src/debugpy/_vendored/pydevd/pydevd_attach_to_process/add_code_to_python_process.py +130 -125
  155. debugpy-1.8.7/src/debugpy/_vendored/pydevd/pydevd_attach_to_process/attach_amd64.dll +0 -0
  156. debugpy-1.8.7/src/debugpy/_vendored/pydevd/pydevd_attach_to_process/attach_amd64.pdb +0 -0
  157. debugpy-1.8.7/src/debugpy/_vendored/pydevd/pydevd_attach_to_process/attach_pydevd.py +89 -0
  158. {debugpy-1.8.5 → debugpy-1.8.7}/src/debugpy/_vendored/pydevd/pydevd_attach_to_process/attach_script.py +41 -32
  159. debugpy-1.8.7/src/debugpy/_vendored/pydevd/pydevd_attach_to_process/attach_x86.dll +0 -0
  160. debugpy-1.8.7/src/debugpy/_vendored/pydevd/pydevd_attach_to_process/attach_x86.pdb +0 -0
  161. {debugpy-1.8.5 → debugpy-1.8.7}/src/debugpy/_vendored/pydevd/pydevd_attach_to_process/common/py_utils.hpp +1 -0
  162. {debugpy-1.8.5 → debugpy-1.8.7}/src/debugpy/_vendored/pydevd/pydevd_attach_to_process/common/py_version.hpp +9 -1
  163. debugpy-1.8.7/src/debugpy/_vendored/pydevd/pydevd_attach_to_process/inject_dll_amd64.exe +0 -0
  164. debugpy-1.8.7/src/debugpy/_vendored/pydevd/pydevd_attach_to_process/inject_dll_amd64.pdb +0 -0
  165. {debugpy-1.8.5 → debugpy-1.8.7}/src/debugpy/_vendored/pydevd/pydevd_attach_to_process/inject_dll_x86.exe +0 -0
  166. debugpy-1.8.7/src/debugpy/_vendored/pydevd/pydevd_attach_to_process/inject_dll_x86.pdb +0 -0
  167. {debugpy-1.8.5 → debugpy-1.8.7}/src/debugpy/_vendored/pydevd/pydevd_attach_to_process/linux_and_mac/lldb_prepare.py +10 -9
  168. debugpy-1.8.7/src/debugpy/_vendored/pydevd/pydevd_attach_to_process/run_code_on_dllmain_amd64.dll +0 -0
  169. debugpy-1.8.7/src/debugpy/_vendored/pydevd/pydevd_attach_to_process/run_code_on_dllmain_amd64.pdb +0 -0
  170. debugpy-1.8.7/src/debugpy/_vendored/pydevd/pydevd_attach_to_process/run_code_on_dllmain_x86.dll +0 -0
  171. debugpy-1.8.7/src/debugpy/_vendored/pydevd/pydevd_attach_to_process/run_code_on_dllmain_x86.pdb +0 -0
  172. {debugpy-1.8.5 → debugpy-1.8.7}/src/debugpy/_vendored/pydevd/pydevd_attach_to_process/winappdbg/__init__.py +103 -119
  173. {debugpy-1.8.5 → debugpy-1.8.7}/src/debugpy/_vendored/pydevd/pydevd_attach_to_process/winappdbg/breakpoint.py +457 -516
  174. {debugpy-1.8.5 → debugpy-1.8.7}/src/debugpy/_vendored/pydevd/pydevd_attach_to_process/winappdbg/compat.py +33 -15
  175. {debugpy-1.8.5 → debugpy-1.8.7}/src/debugpy/_vendored/pydevd/pydevd_attach_to_process/winappdbg/crash.py +336 -281
  176. {debugpy-1.8.5 → debugpy-1.8.7}/src/debugpy/_vendored/pydevd/pydevd_attach_to_process/winappdbg/debug.py +101 -131
  177. {debugpy-1.8.5 → debugpy-1.8.7}/src/debugpy/_vendored/pydevd/pydevd_attach_to_process/winappdbg/disasm.py +148 -153
  178. {debugpy-1.8.5 → debugpy-1.8.7}/src/debugpy/_vendored/pydevd/pydevd_attach_to_process/winappdbg/event.py +310 -302
  179. {debugpy-1.8.5 → debugpy-1.8.7}/src/debugpy/_vendored/pydevd/pydevd_attach_to_process/winappdbg/interactive.py +235 -208
  180. {debugpy-1.8.5 → debugpy-1.8.7}/src/debugpy/_vendored/pydevd/pydevd_attach_to_process/winappdbg/module.py +185 -218
  181. {debugpy-1.8.5 → debugpy-1.8.7}/src/debugpy/_vendored/pydevd/pydevd_attach_to_process/winappdbg/process.py +428 -564
  182. {debugpy-1.8.5 → debugpy-1.8.7}/src/debugpy/_vendored/pydevd/pydevd_attach_to_process/winappdbg/registry.py +54 -53
  183. {debugpy-1.8.5 → debugpy-1.8.7}/src/debugpy/_vendored/pydevd/pydevd_attach_to_process/winappdbg/search.py +69 -73
  184. {debugpy-1.8.5 → debugpy-1.8.7}/src/debugpy/_vendored/pydevd/pydevd_attach_to_process/winappdbg/sql.py +158 -170
  185. {debugpy-1.8.5 → debugpy-1.8.7}/src/debugpy/_vendored/pydevd/pydevd_attach_to_process/winappdbg/system.py +143 -213
  186. {debugpy-1.8.5 → debugpy-1.8.7}/src/debugpy/_vendored/pydevd/pydevd_attach_to_process/winappdbg/textio.py +302 -333
  187. {debugpy-1.8.5 → debugpy-1.8.7}/src/debugpy/_vendored/pydevd/pydevd_attach_to_process/winappdbg/thread.py +220 -239
  188. {debugpy-1.8.5 → debugpy-1.8.7}/src/debugpy/_vendored/pydevd/pydevd_attach_to_process/winappdbg/util.py +198 -177
  189. {debugpy-1.8.5 → debugpy-1.8.7}/src/debugpy/_vendored/pydevd/pydevd_attach_to_process/winappdbg/win32/__init__.py +11 -11
  190. {debugpy-1.8.5 → debugpy-1.8.7}/src/debugpy/_vendored/pydevd/pydevd_attach_to_process/winappdbg/win32/advapi32.py +1191 -713
  191. {debugpy-1.8.5 → debugpy-1.8.7}/src/debugpy/_vendored/pydevd/pydevd_attach_to_process/winappdbg/win32/context_amd64.py +248 -194
  192. {debugpy-1.8.5 → debugpy-1.8.7}/src/debugpy/_vendored/pydevd/pydevd_attach_to_process/winappdbg/win32/context_i386.py +132 -120
  193. {debugpy-1.8.5 → debugpy-1.8.7}/src/debugpy/_vendored/pydevd/pydevd_attach_to_process/winappdbg/win32/dbghelp.py +450 -346
  194. {debugpy-1.8.5 → debugpy-1.8.7}/src/debugpy/_vendored/pydevd/pydevd_attach_to_process/winappdbg/win32/defines.py +305 -286
  195. debugpy-1.8.7/src/debugpy/_vendored/pydevd/pydevd_attach_to_process/winappdbg/win32/gdi32.py +526 -0
  196. {debugpy-1.8.5 → debugpy-1.8.7}/src/debugpy/_vendored/pydevd/pydevd_attach_to_process/winappdbg/win32/kernel32.py +1479 -1097
  197. debugpy-1.8.7/src/debugpy/_vendored/pydevd/pydevd_attach_to_process/winappdbg/win32/ntdll.py +579 -0
  198. debugpy-1.8.7/src/debugpy/_vendored/pydevd/pydevd_attach_to_process/winappdbg/win32/peb_teb.py +3517 -0
  199. {debugpy-1.8.5 → debugpy-1.8.7}/src/debugpy/_vendored/pydevd/pydevd_attach_to_process/winappdbg/win32/psapi.py +54 -31
  200. {debugpy-1.8.5 → debugpy-1.8.7}/src/debugpy/_vendored/pydevd/pydevd_attach_to_process/winappdbg/win32/shell32.py +170 -149
  201. {debugpy-1.8.5 → debugpy-1.8.7}/src/debugpy/_vendored/pydevd/pydevd_attach_to_process/winappdbg/win32/shlwapi.py +190 -108
  202. {debugpy-1.8.5 → debugpy-1.8.7}/src/debugpy/_vendored/pydevd/pydevd_attach_to_process/winappdbg/win32/user32.py +542 -437
  203. {debugpy-1.8.5 → debugpy-1.8.7}/src/debugpy/_vendored/pydevd/pydevd_attach_to_process/winappdbg/win32/version.py +489 -442
  204. {debugpy-1.8.5 → debugpy-1.8.7}/src/debugpy/_vendored/pydevd/pydevd_attach_to_process/winappdbg/win32/wtsapi32.py +83 -65
  205. {debugpy-1.8.5 → debugpy-1.8.7}/src/debugpy/_vendored/pydevd/pydevd_attach_to_process/winappdbg/window.py +70 -76
  206. {debugpy-1.8.5 → debugpy-1.8.7}/src/debugpy/_vendored/pydevd/pydevd_attach_to_process/windows/attach.cpp +17 -9
  207. {debugpy-1.8.5 → debugpy-1.8.7}/src/debugpy/_vendored/pydevd/pydevd_attach_to_process/windows/compile_windows.bat +1 -1
  208. {debugpy-1.8.5 → debugpy-1.8.7}/src/debugpy/_vendored/pydevd/pydevd_file_utils.py +141 -120
  209. {debugpy-1.8.5 → debugpy-1.8.7}/src/debugpy/_vendored/pydevd/pydevd_plugins/__init__.py +1 -0
  210. {debugpy-1.8.5 → debugpy-1.8.7}/src/debugpy/_vendored/pydevd/pydevd_plugins/django_debug.py +175 -149
  211. {debugpy-1.8.5 → debugpy-1.8.7}/src/debugpy/_vendored/pydevd/pydevd_plugins/extensions/__init__.py +1 -0
  212. {debugpy-1.8.5 → debugpy-1.8.7}/src/debugpy/_vendored/pydevd/pydevd_plugins/extensions/types/__init__.py +1 -0
  213. {debugpy-1.8.5 → debugpy-1.8.7}/src/debugpy/_vendored/pydevd/pydevd_plugins/extensions/types/pydevd_helpers.py +5 -5
  214. {debugpy-1.8.5 → debugpy-1.8.7}/src/debugpy/_vendored/pydevd/pydevd_plugins/extensions/types/pydevd_plugin_numpy_types.py +28 -28
  215. {debugpy-1.8.5 → debugpy-1.8.7}/src/debugpy/_vendored/pydevd/pydevd_plugins/extensions/types/pydevd_plugin_pandas_types.py +22 -30
  216. {debugpy-1.8.5 → debugpy-1.8.7}/src/debugpy/_vendored/pydevd/pydevd_plugins/extensions/types/pydevd_plugins_django_form_str.py +3 -2
  217. {debugpy-1.8.5 → debugpy-1.8.7}/src/debugpy/_vendored/pydevd/pydevd_plugins/jinja2_debug.py +130 -108
  218. {debugpy-1.8.5 → debugpy-1.8.7}/src/debugpy/_vendored/pydevd/pydevd_plugins/pydevd_line_validation.py +27 -14
  219. {debugpy-1.8.5 → debugpy-1.8.7}/src/debugpy/_vendored/pydevd/pydevd_tracing.py +85 -66
  220. {debugpy-1.8.5 → debugpy-1.8.7}/src/debugpy/_vendored/pydevd/setup_pydevd_cython.py +96 -59
  221. {debugpy-1.8.5 → debugpy-1.8.7}/src/debugpy/_version.py +3 -3
  222. {debugpy-1.8.5 → debugpy-1.8.7}/src/debugpy/common/messaging.py +2 -1
  223. {debugpy-1.8.5 → debugpy-1.8.7}/src/debugpy/server/cli.py +32 -17
  224. {debugpy-1.8.5 → debugpy-1.8.7/src/debugpy.egg-info}/PKG-INFO +1 -1
  225. {debugpy-1.8.5 → debugpy-1.8.7}/src/debugpy.egg-info/SOURCES.txt +6 -1
  226. debugpy-1.8.5/src/debugpy/_vendored/pydevd/_pydev_bundle/_pydev_filesystem_encoding.py +0 -41
  227. debugpy-1.8.5/src/debugpy/_vendored/pydevd/_pydev_runfiles/pydev_runfiles_coverage.py +0 -76
  228. debugpy-1.8.5/src/debugpy/_vendored/pydevd/_pydevd_bundle/_debug_adapter/__main__pydevd_gen_debug_adapter_protocol.py +0 -592
  229. debugpy-1.8.5/src/debugpy/_vendored/pydevd/_pydevd_bundle/_debug_adapter/pydevd_schema.py +0 -19514
  230. debugpy-1.8.5/src/debugpy/_vendored/pydevd/_pydevd_bundle/pydevd_additional_thread_info.py +0 -19
  231. debugpy-1.8.5/src/debugpy/_vendored/pydevd/_pydevd_bundle/pydevd_additional_thread_info_regular.py +0 -153
  232. debugpy-1.8.5/src/debugpy/_vendored/pydevd/_pydevd_bundle/pydevd_cython.c +0 -43377
  233. debugpy-1.8.5/src/debugpy/_vendored/pydevd/_pydevd_bundle/pydevd_json_debug_options.py +0 -204
  234. debugpy-1.8.5/src/debugpy/_vendored/pydevd/_pydevd_bundle/pydevd_plugin_utils.py +0 -91
  235. debugpy-1.8.5/src/debugpy/_vendored/pydevd/_pydevd_bundle/pydevd_trace_api.py +0 -62
  236. debugpy-1.8.5/src/debugpy/_vendored/pydevd/_pydevd_bundle/pydevd_vm_type.py +0 -41
  237. debugpy-1.8.5/src/debugpy/_vendored/pydevd/_pydevd_frame_eval/pydevd_frame_eval_main.py +0 -48
  238. debugpy-1.8.5/src/debugpy/_vendored/pydevd/pydev_ipython/qt.py +0 -23
  239. debugpy-1.8.5/src/debugpy/_vendored/pydevd/pydev_pysrc.py +0 -1
  240. debugpy-1.8.5/src/debugpy/_vendored/pydevd/pydev_sitecustomize/sitecustomize.py +0 -237
  241. debugpy-1.8.5/src/debugpy/_vendored/pydevd/pydevd_attach_to_process/_always_live_program.py +0 -32
  242. debugpy-1.8.5/src/debugpy/_vendored/pydevd/pydevd_attach_to_process/_test_attach_to_process.py +0 -9
  243. debugpy-1.8.5/src/debugpy/_vendored/pydevd/pydevd_attach_to_process/_test_attach_to_process_linux.py +0 -74
  244. debugpy-1.8.5/src/debugpy/_vendored/pydevd/pydevd_attach_to_process/attach_amd64.dll +0 -0
  245. debugpy-1.8.5/src/debugpy/_vendored/pydevd/pydevd_attach_to_process/attach_amd64.pdb +0 -0
  246. debugpy-1.8.5/src/debugpy/_vendored/pydevd/pydevd_attach_to_process/attach_pydevd.py +0 -79
  247. debugpy-1.8.5/src/debugpy/_vendored/pydevd/pydevd_attach_to_process/attach_x86.dll +0 -0
  248. debugpy-1.8.5/src/debugpy/_vendored/pydevd/pydevd_attach_to_process/attach_x86.pdb +0 -0
  249. debugpy-1.8.5/src/debugpy/_vendored/pydevd/pydevd_attach_to_process/inject_dll_amd64.exe +0 -0
  250. debugpy-1.8.5/src/debugpy/_vendored/pydevd/pydevd_attach_to_process/inject_dll_amd64.pdb +0 -0
  251. debugpy-1.8.5/src/debugpy/_vendored/pydevd/pydevd_attach_to_process/inject_dll_x86.pdb +0 -0
  252. debugpy-1.8.5/src/debugpy/_vendored/pydevd/pydevd_attach_to_process/run_code_on_dllmain_amd64.dll +0 -0
  253. debugpy-1.8.5/src/debugpy/_vendored/pydevd/pydevd_attach_to_process/run_code_on_dllmain_amd64.pdb +0 -0
  254. debugpy-1.8.5/src/debugpy/_vendored/pydevd/pydevd_attach_to_process/run_code_on_dllmain_x86.dll +0 -0
  255. debugpy-1.8.5/src/debugpy/_vendored/pydevd/pydevd_attach_to_process/run_code_on_dllmain_x86.pdb +0 -0
  256. debugpy-1.8.5/src/debugpy/_vendored/pydevd/pydevd_attach_to_process/winappdbg/win32/gdi32.py +0 -507
  257. debugpy-1.8.5/src/debugpy/_vendored/pydevd/pydevd_attach_to_process/winappdbg/win32/ntdll.py +0 -539
  258. debugpy-1.8.5/src/debugpy/_vendored/pydevd/pydevd_attach_to_process/winappdbg/win32/peb_teb.py +0 -3435
  259. {debugpy-1.8.5 → debugpy-1.8.7}/DESCRIPTION.md +0 -0
  260. {debugpy-1.8.5 → debugpy-1.8.7}/LICENSE +0 -0
  261. {debugpy-1.8.5 → debugpy-1.8.7}/MANIFEST.in +0 -0
  262. {debugpy-1.8.5 → debugpy-1.8.7}/README.md +0 -0
  263. {debugpy-1.8.5 → debugpy-1.8.7}/pyproject.toml +0 -0
  264. {debugpy-1.8.5 → debugpy-1.8.7}/setup.cfg +0 -0
  265. {debugpy-1.8.5 → debugpy-1.8.7}/setup.py +0 -0
  266. {debugpy-1.8.5 → debugpy-1.8.7}/src/debugpy/ThirdPartyNotices.txt +0 -0
  267. {debugpy-1.8.5 → debugpy-1.8.7}/src/debugpy/__init__.py +0 -0
  268. {debugpy-1.8.5 → debugpy-1.8.7}/src/debugpy/__main__.py +0 -0
  269. {debugpy-1.8.5 → debugpy-1.8.7}/src/debugpy/_vendored/__init__.py +0 -0
  270. {debugpy-1.8.5 → debugpy-1.8.7}/src/debugpy/_vendored/_pydevd_packaging.py +0 -0
  271. {debugpy-1.8.5 → debugpy-1.8.7}/src/debugpy/_vendored/_util.py +0 -0
  272. {debugpy-1.8.5 → debugpy-1.8.7}/src/debugpy/_vendored/force_pydevd.py +0 -0
  273. {debugpy-1.8.5 → debugpy-1.8.7}/src/debugpy/_vendored/pydevd/_pydev_bundle/__init__.py +0 -0
  274. {debugpy-1.8.5 → debugpy-1.8.7}/src/debugpy/_vendored/pydevd/_pydev_runfiles/__init__.py +0 -0
  275. {debugpy-1.8.5 → debugpy-1.8.7}/src/debugpy/_vendored/pydevd/_pydevd_bundle/__init__.py +0 -0
  276. {debugpy-1.8.5 → debugpy-1.8.7}/src/debugpy/_vendored/pydevd/_pydevd_bundle/_debug_adapter/__init__.py +0 -0
  277. {debugpy-1.8.5 → debugpy-1.8.7}/src/debugpy/_vendored/pydevd/_pydevd_bundle/_debug_adapter/debugProtocolCustom.json +0 -0
  278. {debugpy-1.8.5 → debugpy-1.8.7}/src/debugpy/_vendored/pydevd/_pydevd_bundle/pydevd_concurrency_analyser/__init__.py +0 -0
  279. {debugpy-1.8.5 → debugpy-1.8.7}/src/debugpy/_vendored/pydevd/_pydevd_frame_eval/.gitignore +0 -0
  280. {debugpy-1.8.5 → debugpy-1.8.7}/src/debugpy/_vendored/pydevd/_pydevd_frame_eval/__init__.py +0 -0
  281. {debugpy-1.8.5 → debugpy-1.8.7}/src/debugpy/_vendored/pydevd/_pydevd_frame_eval/pydevd_frame_evaluator.pxd +0 -0
  282. {debugpy-1.8.5 → debugpy-1.8.7}/src/debugpy/_vendored/pydevd/_pydevd_frame_eval/pydevd_frame_evaluator.pyx +0 -0
  283. {debugpy-1.8.5 → debugpy-1.8.7}/src/debugpy/_vendored/pydevd/_pydevd_frame_eval/pydevd_frame_evaluator.template.pyx +0 -0
  284. {debugpy-1.8.5 → debugpy-1.8.7}/src/debugpy/_vendored/pydevd/_pydevd_frame_eval/release_mem.h +0 -0
  285. {debugpy-1.8.5 → debugpy-1.8.7}/src/debugpy/_vendored/pydevd/_pydevd_frame_eval/vendored/README.txt +0 -0
  286. {debugpy-1.8.5 → debugpy-1.8.7}/src/debugpy/_vendored/pydevd/_pydevd_frame_eval/vendored/__init__.py +0 -0
  287. {debugpy-1.8.5 → debugpy-1.8.7}/src/debugpy/_vendored/pydevd/pydev_ipython/README +0 -0
  288. {debugpy-1.8.5 → debugpy-1.8.7}/src/debugpy/_vendored/pydevd/pydev_ipython/__init__.py +0 -0
  289. {debugpy-1.8.5 → debugpy-1.8.7}/src/debugpy/_vendored/pydevd/pydev_sitecustomize/__not_in_default_pythonpath.txt +0 -0
  290. {debugpy-1.8.5 → debugpy-1.8.7}/src/debugpy/_vendored/pydevd/pydevd_attach_to_process/README.txt +0 -0
  291. {debugpy-1.8.5 → debugpy-1.8.7}/src/debugpy/_vendored/pydevd/pydevd_attach_to_process/common/py_custom_pyeval_settrace.hpp +0 -0
  292. {debugpy-1.8.5 → debugpy-1.8.7}/src/debugpy/_vendored/pydevd/pydevd_attach_to_process/common/py_custom_pyeval_settrace_310.hpp +0 -0
  293. {debugpy-1.8.5 → debugpy-1.8.7}/src/debugpy/_vendored/pydevd/pydevd_attach_to_process/common/py_custom_pyeval_settrace_311.hpp +0 -0
  294. {debugpy-1.8.5 → debugpy-1.8.7}/src/debugpy/_vendored/pydevd/pydevd_attach_to_process/common/py_custom_pyeval_settrace_common.hpp +0 -0
  295. {debugpy-1.8.5 → debugpy-1.8.7}/src/debugpy/_vendored/pydevd/pydevd_attach_to_process/common/py_settrace.hpp +0 -0
  296. {debugpy-1.8.5 → debugpy-1.8.7}/src/debugpy/_vendored/pydevd/pydevd_attach_to_process/common/python.h +0 -0
  297. {debugpy-1.8.5 → debugpy-1.8.7}/src/debugpy/_vendored/pydevd/pydevd_attach_to_process/common/ref_utils.hpp +0 -0
  298. {debugpy-1.8.5 → debugpy-1.8.7}/src/debugpy/_vendored/pydevd/pydevd_attach_to_process/linux_and_mac/.gitignore +0 -0
  299. {debugpy-1.8.5 → debugpy-1.8.7}/src/debugpy/_vendored/pydevd/pydevd_attach_to_process/linux_and_mac/attach.cpp +0 -0
  300. {debugpy-1.8.5 → debugpy-1.8.7}/src/debugpy/_vendored/pydevd/pydevd_attach_to_process/linux_and_mac/compile_linux.sh +0 -0
  301. {debugpy-1.8.5 → debugpy-1.8.7}/src/debugpy/_vendored/pydevd/pydevd_attach_to_process/linux_and_mac/compile_mac.sh +0 -0
  302. {debugpy-1.8.5 → debugpy-1.8.7}/src/debugpy/_vendored/pydevd/pydevd_attach_to_process/linux_and_mac/compile_manylinux.cmd +0 -0
  303. {debugpy-1.8.5 → debugpy-1.8.7}/src/debugpy/_vendored/pydevd/pydevd_attach_to_process/windows/attach.h +0 -0
  304. {debugpy-1.8.5 → debugpy-1.8.7}/src/debugpy/_vendored/pydevd/pydevd_attach_to_process/windows/inject_dll.cpp +0 -0
  305. {debugpy-1.8.5 → debugpy-1.8.7}/src/debugpy/_vendored/pydevd/pydevd_attach_to_process/windows/py_win_helpers.hpp +0 -0
  306. {debugpy-1.8.5 → debugpy-1.8.7}/src/debugpy/_vendored/pydevd/pydevd_attach_to_process/windows/run_code_in_memory.hpp +0 -0
  307. {debugpy-1.8.5 → debugpy-1.8.7}/src/debugpy/_vendored/pydevd/pydevd_attach_to_process/windows/run_code_on_dllmain.cpp +0 -0
  308. {debugpy-1.8.5 → debugpy-1.8.7}/src/debugpy/_vendored/pydevd/pydevd_attach_to_process/windows/stdafx.cpp +0 -0
  309. {debugpy-1.8.5 → debugpy-1.8.7}/src/debugpy/_vendored/pydevd/pydevd_attach_to_process/windows/stdafx.h +0 -0
  310. {debugpy-1.8.5 → debugpy-1.8.7}/src/debugpy/_vendored/pydevd/pydevd_attach_to_process/windows/targetver.h +0 -0
  311. {debugpy-1.8.5 → debugpy-1.8.7}/src/debugpy/_vendored/pydevd/pydevd_plugins/extensions/README.md +0 -0
  312. {debugpy-1.8.5 → debugpy-1.8.7}/src/debugpy/adapter/__init__.py +0 -0
  313. {debugpy-1.8.5 → debugpy-1.8.7}/src/debugpy/adapter/__main__.py +0 -0
  314. {debugpy-1.8.5 → debugpy-1.8.7}/src/debugpy/adapter/clients.py +0 -0
  315. {debugpy-1.8.5 → debugpy-1.8.7}/src/debugpy/adapter/components.py +0 -0
  316. {debugpy-1.8.5 → debugpy-1.8.7}/src/debugpy/adapter/launchers.py +0 -0
  317. {debugpy-1.8.5 → debugpy-1.8.7}/src/debugpy/adapter/servers.py +0 -0
  318. {debugpy-1.8.5 → debugpy-1.8.7}/src/debugpy/adapter/sessions.py +0 -0
  319. {debugpy-1.8.5 → debugpy-1.8.7}/src/debugpy/common/__init__.py +0 -0
  320. {debugpy-1.8.5 → debugpy-1.8.7}/src/debugpy/common/json.py +0 -0
  321. {debugpy-1.8.5 → debugpy-1.8.7}/src/debugpy/common/log.py +0 -0
  322. {debugpy-1.8.5 → debugpy-1.8.7}/src/debugpy/common/singleton.py +0 -0
  323. {debugpy-1.8.5 → debugpy-1.8.7}/src/debugpy/common/sockets.py +0 -0
  324. {debugpy-1.8.5 → debugpy-1.8.7}/src/debugpy/common/stacks.py +0 -0
  325. {debugpy-1.8.5 → debugpy-1.8.7}/src/debugpy/common/timestamp.py +0 -0
  326. {debugpy-1.8.5 → debugpy-1.8.7}/src/debugpy/common/util.py +0 -0
  327. {debugpy-1.8.5 → debugpy-1.8.7}/src/debugpy/launcher/__init__.py +0 -0
  328. {debugpy-1.8.5 → debugpy-1.8.7}/src/debugpy/launcher/__main__.py +0 -0
  329. {debugpy-1.8.5 → debugpy-1.8.7}/src/debugpy/launcher/debuggee.py +0 -0
  330. {debugpy-1.8.5 → debugpy-1.8.7}/src/debugpy/launcher/handlers.py +0 -0
  331. {debugpy-1.8.5 → debugpy-1.8.7}/src/debugpy/launcher/output.py +0 -0
  332. {debugpy-1.8.5 → debugpy-1.8.7}/src/debugpy/launcher/winapi.py +0 -0
  333. {debugpy-1.8.5 → debugpy-1.8.7}/src/debugpy/public_api.py +0 -0
  334. {debugpy-1.8.5 → debugpy-1.8.7}/src/debugpy/server/__init__.py +0 -0
  335. {debugpy-1.8.5 → debugpy-1.8.7}/src/debugpy/server/api.py +0 -0
  336. {debugpy-1.8.5 → debugpy-1.8.7}/src/debugpy/server/attach_pid_injected.py +0 -0
  337. {debugpy-1.8.5 → debugpy-1.8.7}/src/debugpy.egg-info/dependency_links.txt +0 -0
  338. {debugpy-1.8.5 → debugpy-1.8.7}/src/debugpy.egg-info/entry_points.txt +0 -0
  339. {debugpy-1.8.5 → debugpy-1.8.7}/src/debugpy.egg-info/top_level.txt +0 -0
  340. {debugpy-1.8.5 → debugpy-1.8.7}/versioneer.py +0 -0
@@ -41,36 +41,27 @@ from winappdbg.win32.kernel32 import *
41
41
  # DbgHelp versions and features list:
42
42
  # http://msdn.microsoft.com/en-us/library/windows/desktop/ms679294(v=vs.85).aspx
43
43
 
44
- #------------------------------------------------------------------------------
44
+ # ------------------------------------------------------------------------------
45
45
  # Tries to load the newest version of dbghelp.dll if available.
46
46
 
47
- def _load_latest_dbghelp_dll():
48
47
 
48
+ def _load_latest_dbghelp_dll():
49
49
  from os import getenv
50
50
  from os.path import join, exists
51
51
 
52
52
  program_files_location = getenv("ProgramFiles")
53
53
  if not program_files_location:
54
54
  program_files_location = "C:\\Program Files"
55
-
55
+
56
56
  program_files_x86_location = getenv("ProgramFiles(x86)")
57
-
57
+
58
58
  if arch == ARCH_AMD64:
59
59
  if wow64:
60
- pathname = join(
61
- program_files_x86_location or program_files_location,
62
- "Debugging Tools for Windows (x86)",
63
- "dbghelp.dll")
60
+ pathname = join(program_files_x86_location or program_files_location, "Debugging Tools for Windows (x86)", "dbghelp.dll")
64
61
  else:
65
- pathname = join(
66
- program_files_location,
67
- "Debugging Tools for Windows (x64)",
68
- "dbghelp.dll")
62
+ pathname = join(program_files_location, "Debugging Tools for Windows (x64)", "dbghelp.dll")
69
63
  elif arch == ARCH_I386:
70
- pathname = join(
71
- program_files_location,
72
- "Debugging Tools for Windows (x86)",
73
- "dbghelp.dll")
64
+ pathname = join(program_files_location, "Debugging Tools for Windows (x86)", "dbghelp.dll")
74
65
  else:
75
66
  pathname = None
76
67
 
@@ -81,71 +72,72 @@ def _load_latest_dbghelp_dll():
81
72
  except Exception:
82
73
  pass
83
74
 
75
+
84
76
  _load_latest_dbghelp_dll()
85
77
 
86
78
  # Recover the old binding of the "os" symbol.
87
79
  # XXX FIXME not sure if I really need to do this!
88
80
  ##from version import os
89
81
 
90
- #------------------------------------------------------------------------------
82
+ # ------------------------------------------------------------------------------
91
83
 
92
- #==============================================================================
84
+ # ==============================================================================
93
85
  # This is used later on to calculate the list of exported symbols.
94
86
  _all = None
95
87
  _all = set(vars().keys())
96
- #==============================================================================
88
+ # ==============================================================================
97
89
 
98
90
  # SymGetHomeDirectory "type" values
99
91
  hdBase = 0
100
- hdSym = 1
101
- hdSrc = 2
102
-
103
- UNDNAME_32_BIT_DECODE = 0x0800
104
- UNDNAME_COMPLETE = 0x0000
105
- UNDNAME_NAME_ONLY = 0x1000
106
- UNDNAME_NO_ACCESS_SPECIFIERS = 0x0080
107
- UNDNAME_NO_ALLOCATION_LANGUAGE = 0x0010
108
- UNDNAME_NO_ALLOCATION_MODEL = 0x0008
109
- UNDNAME_NO_ARGUMENTS = 0x2000
110
- UNDNAME_NO_CV_THISTYPE = 0x0040
111
- UNDNAME_NO_FUNCTION_RETURNS = 0x0004
112
- UNDNAME_NO_LEADING_UNDERSCORES = 0x0001
113
- UNDNAME_NO_MEMBER_TYPE = 0x0200
114
- UNDNAME_NO_MS_KEYWORDS = 0x0002
115
- UNDNAME_NO_MS_THISTYPE = 0x0020
116
- UNDNAME_NO_RETURN_UDT_MODEL = 0x0400
117
- UNDNAME_NO_SPECIAL_SYMS = 0x4000
118
- UNDNAME_NO_THISTYPE = 0x0060
119
- UNDNAME_NO_THROW_SIGNATURES = 0x0100
120
-
121
- #--- IMAGEHLP_MODULE structure and related ------------------------------------
122
-
123
- SYMOPT_ALLOW_ABSOLUTE_SYMBOLS = 0x00000800
124
- SYMOPT_ALLOW_ZERO_ADDRESS = 0x01000000
125
- SYMOPT_AUTO_PUBLICS = 0x00010000
126
- SYMOPT_CASE_INSENSITIVE = 0x00000001
127
- SYMOPT_DEBUG = 0x80000000
128
- SYMOPT_DEFERRED_LOADS = 0x00000004
129
- SYMOPT_DISABLE_SYMSRV_AUTODETECT = 0x02000000
130
- SYMOPT_EXACT_SYMBOLS = 0x00000400
131
- SYMOPT_FAIL_CRITICAL_ERRORS = 0x00000200
132
- SYMOPT_FAVOR_COMPRESSED = 0x00800000
133
- SYMOPT_FLAT_DIRECTORY = 0x00400000
134
- SYMOPT_IGNORE_CVREC = 0x00000080
135
- SYMOPT_IGNORE_IMAGEDIR = 0x00200000
136
- SYMOPT_IGNORE_NT_SYMPATH = 0x00001000
137
- SYMOPT_INCLUDE_32BIT_MODULES = 0x00002000
138
- SYMOPT_LOAD_ANYTHING = 0x00000040
139
- SYMOPT_LOAD_LINES = 0x00000010
140
- SYMOPT_NO_CPP = 0x00000008
141
- SYMOPT_NO_IMAGE_SEARCH = 0x00020000
142
- SYMOPT_NO_PROMPTS = 0x00080000
143
- SYMOPT_NO_PUBLICS = 0x00008000
144
- SYMOPT_NO_UNQUALIFIED_LOADS = 0x00000100
145
- SYMOPT_OVERWRITE = 0x00100000
146
- SYMOPT_PUBLICS_ONLY = 0x00004000
147
- SYMOPT_SECURE = 0x00040000
148
- SYMOPT_UNDNAME = 0x00000002
92
+ hdSym = 1
93
+ hdSrc = 2
94
+
95
+ UNDNAME_32_BIT_DECODE = 0x0800
96
+ UNDNAME_COMPLETE = 0x0000
97
+ UNDNAME_NAME_ONLY = 0x1000
98
+ UNDNAME_NO_ACCESS_SPECIFIERS = 0x0080
99
+ UNDNAME_NO_ALLOCATION_LANGUAGE = 0x0010
100
+ UNDNAME_NO_ALLOCATION_MODEL = 0x0008
101
+ UNDNAME_NO_ARGUMENTS = 0x2000
102
+ UNDNAME_NO_CV_THISTYPE = 0x0040
103
+ UNDNAME_NO_FUNCTION_RETURNS = 0x0004
104
+ UNDNAME_NO_LEADING_UNDERSCORES = 0x0001
105
+ UNDNAME_NO_MEMBER_TYPE = 0x0200
106
+ UNDNAME_NO_MS_KEYWORDS = 0x0002
107
+ UNDNAME_NO_MS_THISTYPE = 0x0020
108
+ UNDNAME_NO_RETURN_UDT_MODEL = 0x0400
109
+ UNDNAME_NO_SPECIAL_SYMS = 0x4000
110
+ UNDNAME_NO_THISTYPE = 0x0060
111
+ UNDNAME_NO_THROW_SIGNATURES = 0x0100
112
+
113
+ # --- IMAGEHLP_MODULE structure and related ------------------------------------
114
+
115
+ SYMOPT_ALLOW_ABSOLUTE_SYMBOLS = 0x00000800
116
+ SYMOPT_ALLOW_ZERO_ADDRESS = 0x01000000
117
+ SYMOPT_AUTO_PUBLICS = 0x00010000
118
+ SYMOPT_CASE_INSENSITIVE = 0x00000001
119
+ SYMOPT_DEBUG = 0x80000000
120
+ SYMOPT_DEFERRED_LOADS = 0x00000004
121
+ SYMOPT_DISABLE_SYMSRV_AUTODETECT = 0x02000000
122
+ SYMOPT_EXACT_SYMBOLS = 0x00000400
123
+ SYMOPT_FAIL_CRITICAL_ERRORS = 0x00000200
124
+ SYMOPT_FAVOR_COMPRESSED = 0x00800000
125
+ SYMOPT_FLAT_DIRECTORY = 0x00400000
126
+ SYMOPT_IGNORE_CVREC = 0x00000080
127
+ SYMOPT_IGNORE_IMAGEDIR = 0x00200000
128
+ SYMOPT_IGNORE_NT_SYMPATH = 0x00001000
129
+ SYMOPT_INCLUDE_32BIT_MODULES = 0x00002000
130
+ SYMOPT_LOAD_ANYTHING = 0x00000040
131
+ SYMOPT_LOAD_LINES = 0x00000010
132
+ SYMOPT_NO_CPP = 0x00000008
133
+ SYMOPT_NO_IMAGE_SEARCH = 0x00020000
134
+ SYMOPT_NO_PROMPTS = 0x00080000
135
+ SYMOPT_NO_PUBLICS = 0x00008000
136
+ SYMOPT_NO_UNQUALIFIED_LOADS = 0x00000100
137
+ SYMOPT_OVERWRITE = 0x00100000
138
+ SYMOPT_PUBLICS_ONLY = 0x00004000
139
+ SYMOPT_SECURE = 0x00040000
140
+ SYMOPT_UNDNAME = 0x00000002
149
141
 
150
142
  ##SSRVOPT_DWORD
151
143
  ##SSRVOPT_DWORDPTR
@@ -179,15 +171,15 @@ SYMOPT_UNDNAME = 0x00000002
179
171
  # SymVirtual,
180
172
  # NumSymTypes
181
173
  # } SYM_TYPE;
182
- SymNone = 0
183
- SymCoff = 1
184
- SymCv = 2
185
- SymPdb = 3
186
- SymExport = 4
174
+ SymNone = 0
175
+ SymCoff = 1
176
+ SymCv = 2
177
+ SymPdb = 3
178
+ SymExport = 4
187
179
  SymDeferred = 5
188
- SymSym = 6
189
- SymDia = 7
190
- SymVirtual = 8
180
+ SymSym = 6
181
+ SymDia = 7
182
+ SymVirtual = 8
191
183
  NumSymTypes = 9
192
184
 
193
185
  # typedef struct _IMAGEHLP_MODULE64 {
@@ -216,173 +208,195 @@ NumSymTypes = 9
216
208
  # BOOL Publics;
217
209
  # } IMAGEHLP_MODULE64, *PIMAGEHLP_MODULE64;
218
210
 
219
- class IMAGEHLP_MODULE (Structure):
211
+
212
+ class IMAGEHLP_MODULE(Structure):
220
213
  _fields_ = [
221
- ("SizeOfStruct", DWORD),
222
- ("BaseOfImage", DWORD),
223
- ("ImageSize", DWORD),
224
- ("TimeDateStamp", DWORD),
225
- ("CheckSum", DWORD),
226
- ("NumSyms", DWORD),
227
- ("SymType", DWORD), # SYM_TYPE
228
- ("ModuleName", CHAR * 32),
229
- ("ImageName", CHAR * 256),
214
+ ("SizeOfStruct", DWORD),
215
+ ("BaseOfImage", DWORD),
216
+ ("ImageSize", DWORD),
217
+ ("TimeDateStamp", DWORD),
218
+ ("CheckSum", DWORD),
219
+ ("NumSyms", DWORD),
220
+ ("SymType", DWORD), # SYM_TYPE
221
+ ("ModuleName", CHAR * 32),
222
+ ("ImageName", CHAR * 256),
230
223
  ("LoadedImageName", CHAR * 256),
231
224
  ]
225
+
226
+
232
227
  PIMAGEHLP_MODULE = POINTER(IMAGEHLP_MODULE)
233
228
 
234
- class IMAGEHLP_MODULE64 (Structure):
229
+
230
+ class IMAGEHLP_MODULE64(Structure):
235
231
  _fields_ = [
236
- ("SizeOfStruct", DWORD),
237
- ("BaseOfImage", DWORD64),
238
- ("ImageSize", DWORD),
239
- ("TimeDateStamp", DWORD),
240
- ("CheckSum", DWORD),
241
- ("NumSyms", DWORD),
242
- ("SymType", DWORD), # SYM_TYPE
243
- ("ModuleName", CHAR * 32),
244
- ("ImageName", CHAR * 256),
232
+ ("SizeOfStruct", DWORD),
233
+ ("BaseOfImage", DWORD64),
234
+ ("ImageSize", DWORD),
235
+ ("TimeDateStamp", DWORD),
236
+ ("CheckSum", DWORD),
237
+ ("NumSyms", DWORD),
238
+ ("SymType", DWORD), # SYM_TYPE
239
+ ("ModuleName", CHAR * 32),
240
+ ("ImageName", CHAR * 256),
245
241
  ("LoadedImageName", CHAR * 256),
246
- ("LoadedPdbName", CHAR * 256),
247
- ("CVSig", DWORD),
248
- ("CVData", CHAR * (MAX_PATH * 3)),
249
- ("PdbSig", DWORD),
250
- ("PdbSig70", GUID),
251
- ("PdbAge", DWORD),
252
- ("PdbUnmatched", BOOL),
253
- ("DbgUnmatched", BOOL),
254
- ("LineNumbers", BOOL),
255
- ("GlobalSymbols", BOOL),
256
- ("TypeInfo", BOOL),
257
- ("SourceIndexed", BOOL),
258
- ("Publics", BOOL),
242
+ ("LoadedPdbName", CHAR * 256),
243
+ ("CVSig", DWORD),
244
+ ("CVData", CHAR * (MAX_PATH * 3)),
245
+ ("PdbSig", DWORD),
246
+ ("PdbSig70", GUID),
247
+ ("PdbAge", DWORD),
248
+ ("PdbUnmatched", BOOL),
249
+ ("DbgUnmatched", BOOL),
250
+ ("LineNumbers", BOOL),
251
+ ("GlobalSymbols", BOOL),
252
+ ("TypeInfo", BOOL),
253
+ ("SourceIndexed", BOOL),
254
+ ("Publics", BOOL),
259
255
  ]
256
+
257
+
260
258
  PIMAGEHLP_MODULE64 = POINTER(IMAGEHLP_MODULE64)
261
259
 
262
- class IMAGEHLP_MODULEW (Structure):
260
+
261
+ class IMAGEHLP_MODULEW(Structure):
263
262
  _fields_ = [
264
- ("SizeOfStruct", DWORD),
265
- ("BaseOfImage", DWORD),
266
- ("ImageSize", DWORD),
267
- ("TimeDateStamp", DWORD),
268
- ("CheckSum", DWORD),
269
- ("NumSyms", DWORD),
270
- ("SymType", DWORD), # SYM_TYPE
271
- ("ModuleName", WCHAR * 32),
272
- ("ImageName", WCHAR * 256),
263
+ ("SizeOfStruct", DWORD),
264
+ ("BaseOfImage", DWORD),
265
+ ("ImageSize", DWORD),
266
+ ("TimeDateStamp", DWORD),
267
+ ("CheckSum", DWORD),
268
+ ("NumSyms", DWORD),
269
+ ("SymType", DWORD), # SYM_TYPE
270
+ ("ModuleName", WCHAR * 32),
271
+ ("ImageName", WCHAR * 256),
273
272
  ("LoadedImageName", WCHAR * 256),
274
273
  ]
274
+
275
+
275
276
  PIMAGEHLP_MODULEW = POINTER(IMAGEHLP_MODULEW)
276
277
 
277
- class IMAGEHLP_MODULEW64 (Structure):
278
+
279
+ class IMAGEHLP_MODULEW64(Structure):
278
280
  _fields_ = [
279
- ("SizeOfStruct", DWORD),
280
- ("BaseOfImage", DWORD64),
281
- ("ImageSize", DWORD),
282
- ("TimeDateStamp", DWORD),
283
- ("CheckSum", DWORD),
284
- ("NumSyms", DWORD),
285
- ("SymType", DWORD), # SYM_TYPE
286
- ("ModuleName", WCHAR * 32),
287
- ("ImageName", WCHAR * 256),
281
+ ("SizeOfStruct", DWORD),
282
+ ("BaseOfImage", DWORD64),
283
+ ("ImageSize", DWORD),
284
+ ("TimeDateStamp", DWORD),
285
+ ("CheckSum", DWORD),
286
+ ("NumSyms", DWORD),
287
+ ("SymType", DWORD), # SYM_TYPE
288
+ ("ModuleName", WCHAR * 32),
289
+ ("ImageName", WCHAR * 256),
288
290
  ("LoadedImageName", WCHAR * 256),
289
- ("LoadedPdbName", WCHAR * 256),
290
- ("CVSig", DWORD),
291
- ("CVData", WCHAR * (MAX_PATH * 3)),
292
- ("PdbSig", DWORD),
293
- ("PdbSig70", GUID),
294
- ("PdbAge", DWORD),
295
- ("PdbUnmatched", BOOL),
296
- ("DbgUnmatched", BOOL),
297
- ("LineNumbers", BOOL),
298
- ("GlobalSymbols", BOOL),
299
- ("TypeInfo", BOOL),
300
- ("SourceIndexed", BOOL),
301
- ("Publics", BOOL),
291
+ ("LoadedPdbName", WCHAR * 256),
292
+ ("CVSig", DWORD),
293
+ ("CVData", WCHAR * (MAX_PATH * 3)),
294
+ ("PdbSig", DWORD),
295
+ ("PdbSig70", GUID),
296
+ ("PdbAge", DWORD),
297
+ ("PdbUnmatched", BOOL),
298
+ ("DbgUnmatched", BOOL),
299
+ ("LineNumbers", BOOL),
300
+ ("GlobalSymbols", BOOL),
301
+ ("TypeInfo", BOOL),
302
+ ("SourceIndexed", BOOL),
303
+ ("Publics", BOOL),
302
304
  ]
305
+
306
+
303
307
  PIMAGEHLP_MODULEW64 = POINTER(IMAGEHLP_MODULEW64)
304
308
 
305
- #--- dbghelp.dll --------------------------------------------------------------
309
+ # --- dbghelp.dll --------------------------------------------------------------
306
310
 
307
311
  # XXX the ANSI versions of these functions don't end in "A" as expected!
308
312
 
313
+
309
314
  # BOOL WINAPI MakeSureDirectoryPathExists(
310
315
  # _In_ PCSTR DirPath
311
316
  # );
312
317
  def MakeSureDirectoryPathExistsA(DirPath):
313
318
  _MakeSureDirectoryPathExists = windll.dbghelp.MakeSureDirectoryPathExists
314
319
  _MakeSureDirectoryPathExists.argtypes = [LPSTR]
315
- _MakeSureDirectoryPathExists.restype = bool
320
+ _MakeSureDirectoryPathExists.restype = bool
316
321
  _MakeSureDirectoryPathExists.errcheck = RaiseIfZero
317
322
  return _MakeSureDirectoryPathExists(DirPath)
318
323
 
324
+
319
325
  MakeSureDirectoryPathExistsW = MakeWideVersion(MakeSureDirectoryPathExistsA)
320
326
  MakeSureDirectoryPathExists = GuessStringType(MakeSureDirectoryPathExistsA, MakeSureDirectoryPathExistsW)
321
327
 
328
+
322
329
  # BOOL WINAPI SymInitialize(
323
330
  # __in HANDLE hProcess,
324
331
  # __in_opt PCTSTR UserSearchPath,
325
332
  # __in BOOL fInvadeProcess
326
333
  # );
327
- def SymInitializeA(hProcess, UserSearchPath = None, fInvadeProcess = False):
334
+ def SymInitializeA(hProcess, UserSearchPath=None, fInvadeProcess=False):
328
335
  _SymInitialize = windll.dbghelp.SymInitialize
329
336
  _SymInitialize.argtypes = [HANDLE, LPSTR, BOOL]
330
- _SymInitialize.restype = bool
337
+ _SymInitialize.restype = bool
331
338
  _SymInitialize.errcheck = RaiseIfZero
332
339
  if not UserSearchPath:
333
340
  UserSearchPath = None
334
341
  _SymInitialize(hProcess, UserSearchPath, fInvadeProcess)
335
342
 
343
+
336
344
  SymInitializeW = MakeWideVersion(SymInitializeA)
337
345
  SymInitialize = GuessStringType(SymInitializeA, SymInitializeW)
338
346
 
347
+
339
348
  # BOOL WINAPI SymCleanup(
340
349
  # __in HANDLE hProcess
341
350
  # );
342
351
  def SymCleanup(hProcess):
343
352
  _SymCleanup = windll.dbghelp.SymCleanup
344
353
  _SymCleanup.argtypes = [HANDLE]
345
- _SymCleanup.restype = bool
354
+ _SymCleanup.restype = bool
346
355
  _SymCleanup.errcheck = RaiseIfZero
347
356
  _SymCleanup(hProcess)
348
357
 
358
+
349
359
  # BOOL WINAPI SymRefreshModuleList(
350
360
  # __in HANDLE hProcess
351
361
  # );
352
362
  def SymRefreshModuleList(hProcess):
353
363
  _SymRefreshModuleList = windll.dbghelp.SymRefreshModuleList
354
364
  _SymRefreshModuleList.argtypes = [HANDLE]
355
- _SymRefreshModuleList.restype = bool
365
+ _SymRefreshModuleList.restype = bool
356
366
  _SymRefreshModuleList.errcheck = RaiseIfZero
357
367
  _SymRefreshModuleList(hProcess)
358
368
 
369
+
359
370
  # BOOL WINAPI SymSetParentWindow(
360
371
  # __in HWND hwnd
361
372
  # );
362
373
  def SymSetParentWindow(hwnd):
363
374
  _SymSetParentWindow = windll.dbghelp.SymSetParentWindow
364
375
  _SymSetParentWindow.argtypes = [HWND]
365
- _SymSetParentWindow.restype = bool
376
+ _SymSetParentWindow.restype = bool
366
377
  _SymSetParentWindow.errcheck = RaiseIfZero
367
378
  _SymSetParentWindow(hwnd)
368
379
 
380
+
369
381
  # DWORD WINAPI SymSetOptions(
370
382
  # __in DWORD SymOptions
371
383
  # );
372
384
  def SymSetOptions(SymOptions):
373
385
  _SymSetOptions = windll.dbghelp.SymSetOptions
374
386
  _SymSetOptions.argtypes = [DWORD]
375
- _SymSetOptions.restype = DWORD
387
+ _SymSetOptions.restype = DWORD
376
388
  _SymSetOptions.errcheck = RaiseIfZero
377
389
  _SymSetOptions(SymOptions)
378
390
 
391
+
379
392
  # DWORD WINAPI SymGetOptions(void);
380
393
  def SymGetOptions():
381
394
  _SymGetOptions = windll.dbghelp.SymGetOptions
382
395
  _SymGetOptions.argtypes = []
383
- _SymGetOptions.restype = DWORD
396
+ _SymGetOptions.restype = DWORD
384
397
  return _SymGetOptions()
385
398
 
399
+
386
400
  # DWORD WINAPI SymLoadModule(
387
401
  # __in HANDLE hProcess,
388
402
  # __in_opt HANDLE hFile,
@@ -391,10 +405,10 @@ def SymGetOptions():
391
405
  # __in DWORD BaseOfDll,
392
406
  # __in DWORD SizeOfDll
393
407
  # );
394
- def SymLoadModuleA(hProcess, hFile = None, ImageName = None, ModuleName = None, BaseOfDll = None, SizeOfDll = None):
408
+ def SymLoadModuleA(hProcess, hFile=None, ImageName=None, ModuleName=None, BaseOfDll=None, SizeOfDll=None):
395
409
  _SymLoadModule = windll.dbghelp.SymLoadModule
396
410
  _SymLoadModule.argtypes = [HANDLE, HANDLE, LPSTR, LPSTR, DWORD, DWORD]
397
- _SymLoadModule.restype = DWORD
411
+ _SymLoadModule.restype = DWORD
398
412
 
399
413
  if not ImageName:
400
414
  ImageName = None
@@ -412,9 +426,11 @@ def SymLoadModuleA(hProcess, hFile = None, ImageName = None, ModuleName = None,
412
426
  raise ctypes.WinError(dwErrorCode)
413
427
  return lpBaseAddress
414
428
 
429
+
415
430
  SymLoadModuleW = MakeWideVersion(SymLoadModuleA)
416
431
  SymLoadModule = GuessStringType(SymLoadModuleA, SymLoadModuleW)
417
432
 
433
+
418
434
  # DWORD64 WINAPI SymLoadModule64(
419
435
  # __in HANDLE hProcess,
420
436
  # __in_opt HANDLE hFile,
@@ -423,10 +439,10 @@ SymLoadModule = GuessStringType(SymLoadModuleA, SymLoadModuleW)
423
439
  # __in DWORD64 BaseOfDll,
424
440
  # __in DWORD SizeOfDll
425
441
  # );
426
- def SymLoadModule64A(hProcess, hFile = None, ImageName = None, ModuleName = None, BaseOfDll = None, SizeOfDll = None):
442
+ def SymLoadModule64A(hProcess, hFile=None, ImageName=None, ModuleName=None, BaseOfDll=None, SizeOfDll=None):
427
443
  _SymLoadModule64 = windll.dbghelp.SymLoadModule64
428
444
  _SymLoadModule64.argtypes = [HANDLE, HANDLE, LPSTR, LPSTR, DWORD64, DWORD]
429
- _SymLoadModule64.restype = DWORD64
445
+ _SymLoadModule64.restype = DWORD64
430
446
 
431
447
  if not ImageName:
432
448
  ImageName = None
@@ -444,9 +460,11 @@ def SymLoadModule64A(hProcess, hFile = None, ImageName = None, ModuleName = None
444
460
  raise ctypes.WinError(dwErrorCode)
445
461
  return lpBaseAddress
446
462
 
463
+
447
464
  SymLoadModule64W = MakeWideVersion(SymLoadModule64A)
448
465
  SymLoadModule64 = GuessStringType(SymLoadModule64A, SymLoadModule64W)
449
466
 
467
+
450
468
  # BOOL WINAPI SymUnloadModule(
451
469
  # __in HANDLE hProcess,
452
470
  # __in DWORD BaseOfDll
@@ -454,10 +472,11 @@ SymLoadModule64 = GuessStringType(SymLoadModule64A, SymLoadModule64W)
454
472
  def SymUnloadModule(hProcess, BaseOfDll):
455
473
  _SymUnloadModule = windll.dbghelp.SymUnloadModule
456
474
  _SymUnloadModule.argtypes = [HANDLE, DWORD]
457
- _SymUnloadModule.restype = bool
475
+ _SymUnloadModule.restype = bool
458
476
  _SymUnloadModule.errcheck = RaiseIfZero
459
477
  _SymUnloadModule(hProcess, BaseOfDll)
460
478
 
479
+
461
480
  # BOOL WINAPI SymUnloadModule64(
462
481
  # __in HANDLE hProcess,
463
482
  # __in DWORD64 BaseOfDll
@@ -465,10 +484,11 @@ def SymUnloadModule(hProcess, BaseOfDll):
465
484
  def SymUnloadModule64(hProcess, BaseOfDll):
466
485
  _SymUnloadModule64 = windll.dbghelp.SymUnloadModule64
467
486
  _SymUnloadModule64.argtypes = [HANDLE, DWORD64]
468
- _SymUnloadModule64.restype = bool
487
+ _SymUnloadModule64.restype = bool
469
488
  _SymUnloadModule64.errcheck = RaiseIfZero
470
489
  _SymUnloadModule64(hProcess, BaseOfDll)
471
490
 
491
+
472
492
  # BOOL WINAPI SymGetModuleInfo(
473
493
  # __in HANDLE hProcess,
474
494
  # __in DWORD dwAddr,
@@ -477,7 +497,7 @@ def SymUnloadModule64(hProcess, BaseOfDll):
477
497
  def SymGetModuleInfoA(hProcess, dwAddr):
478
498
  _SymGetModuleInfo = windll.dbghelp.SymGetModuleInfo
479
499
  _SymGetModuleInfo.argtypes = [HANDLE, DWORD, PIMAGEHLP_MODULE]
480
- _SymGetModuleInfo.restype = bool
500
+ _SymGetModuleInfo.restype = bool
481
501
  _SymGetModuleInfo.errcheck = RaiseIfZero
482
502
 
483
503
  ModuleInfo = IMAGEHLP_MODULE()
@@ -485,10 +505,11 @@ def SymGetModuleInfoA(hProcess, dwAddr):
485
505
  _SymGetModuleInfo(hProcess, dwAddr, byref(ModuleInfo))
486
506
  return ModuleInfo
487
507
 
508
+
488
509
  def SymGetModuleInfoW(hProcess, dwAddr):
489
510
  _SymGetModuleInfoW = windll.dbghelp.SymGetModuleInfoW
490
511
  _SymGetModuleInfoW.argtypes = [HANDLE, DWORD, PIMAGEHLP_MODULEW]
491
- _SymGetModuleInfoW.restype = bool
512
+ _SymGetModuleInfoW.restype = bool
492
513
  _SymGetModuleInfoW.errcheck = RaiseIfZero
493
514
 
494
515
  ModuleInfo = IMAGEHLP_MODULEW()
@@ -496,8 +517,10 @@ def SymGetModuleInfoW(hProcess, dwAddr):
496
517
  _SymGetModuleInfoW(hProcess, dwAddr, byref(ModuleInfo))
497
518
  return ModuleInfo
498
519
 
520
+
499
521
  SymGetModuleInfo = GuessStringType(SymGetModuleInfoA, SymGetModuleInfoW)
500
522
 
523
+
501
524
  # BOOL WINAPI SymGetModuleInfo64(
502
525
  # __in HANDLE hProcess,
503
526
  # __in DWORD64 dwAddr,
@@ -506,7 +529,7 @@ SymGetModuleInfo = GuessStringType(SymGetModuleInfoA, SymGetModuleInfoW)
506
529
  def SymGetModuleInfo64A(hProcess, dwAddr):
507
530
  _SymGetModuleInfo64 = windll.dbghelp.SymGetModuleInfo64
508
531
  _SymGetModuleInfo64.argtypes = [HANDLE, DWORD64, PIMAGEHLP_MODULE64]
509
- _SymGetModuleInfo64.restype = bool
532
+ _SymGetModuleInfo64.restype = bool
510
533
  _SymGetModuleInfo64.errcheck = RaiseIfZero
511
534
 
512
535
  ModuleInfo = IMAGEHLP_MODULE64()
@@ -514,10 +537,11 @@ def SymGetModuleInfo64A(hProcess, dwAddr):
514
537
  _SymGetModuleInfo64(hProcess, dwAddr, byref(ModuleInfo))
515
538
  return ModuleInfo
516
539
 
540
+
517
541
  def SymGetModuleInfo64W(hProcess, dwAddr):
518
542
  _SymGetModuleInfo64W = windll.dbghelp.SymGetModuleInfo64W
519
543
  _SymGetModuleInfo64W.argtypes = [HANDLE, DWORD64, PIMAGEHLP_MODULE64W]
520
- _SymGetModuleInfo64W.restype = bool
544
+ _SymGetModuleInfo64W.restype = bool
521
545
  _SymGetModuleInfo64W.errcheck = RaiseIfZero
522
546
 
523
547
  ModuleInfo = IMAGEHLP_MODULE64W()
@@ -525,6 +549,7 @@ def SymGetModuleInfo64W(hProcess, dwAddr):
525
549
  _SymGetModuleInfo64W(hProcess, dwAddr, byref(ModuleInfo))
526
550
  return ModuleInfo
527
551
 
552
+
528
553
  SymGetModuleInfo64 = GuessStringType(SymGetModuleInfo64A, SymGetModuleInfo64W)
529
554
 
530
555
  # BOOL CALLBACK SymEnumerateModulesProc(
@@ -532,26 +557,27 @@ SymGetModuleInfo64 = GuessStringType(SymGetModuleInfo64A, SymGetModuleInfo64W)
532
557
  # __in DWORD BaseOfDll,
533
558
  # __in_opt PVOID UserContext
534
559
  # );
535
- PSYM_ENUMMODULES_CALLBACK = WINFUNCTYPE(BOOL, LPSTR, DWORD, PVOID)
536
- PSYM_ENUMMODULES_CALLBACKW = WINFUNCTYPE(BOOL, LPWSTR, DWORD, PVOID)
560
+ PSYM_ENUMMODULES_CALLBACK = WINFUNCTYPE(BOOL, LPSTR, DWORD, PVOID)
561
+ PSYM_ENUMMODULES_CALLBACKW = WINFUNCTYPE(BOOL, LPWSTR, DWORD, PVOID)
537
562
 
538
563
  # BOOL CALLBACK SymEnumerateModulesProc64(
539
564
  # __in PCTSTR ModuleName,
540
565
  # __in DWORD64 BaseOfDll,
541
566
  # __in_opt PVOID UserContext
542
567
  # );
543
- PSYM_ENUMMODULES_CALLBACK64 = WINFUNCTYPE(BOOL, LPSTR, DWORD64, PVOID)
568
+ PSYM_ENUMMODULES_CALLBACK64 = WINFUNCTYPE(BOOL, LPSTR, DWORD64, PVOID)
544
569
  PSYM_ENUMMODULES_CALLBACKW64 = WINFUNCTYPE(BOOL, LPWSTR, DWORD64, PVOID)
545
570
 
571
+
546
572
  # BOOL WINAPI SymEnumerateModules(
547
573
  # __in HANDLE hProcess,
548
574
  # __in PSYM_ENUMMODULES_CALLBACK EnumModulesCallback,
549
575
  # __in_opt PVOID UserContext
550
576
  # );
551
- def SymEnumerateModulesA(hProcess, EnumModulesCallback, UserContext = None):
577
+ def SymEnumerateModulesA(hProcess, EnumModulesCallback, UserContext=None):
552
578
  _SymEnumerateModules = windll.dbghelp.SymEnumerateModules
553
579
  _SymEnumerateModules.argtypes = [HANDLE, PSYM_ENUMMODULES_CALLBACK, PVOID]
554
- _SymEnumerateModules.restype = bool
580
+ _SymEnumerateModules.restype = bool
555
581
  _SymEnumerateModules.errcheck = RaiseIfZero
556
582
 
557
583
  EnumModulesCallback = PSYM_ENUMMODULES_CALLBACK(EnumModulesCallback)
@@ -561,10 +587,11 @@ def SymEnumerateModulesA(hProcess, EnumModulesCallback, UserContext = None):
561
587
  UserContext = LPVOID(NULL)
562
588
  _SymEnumerateModules(hProcess, EnumModulesCallback, UserContext)
563
589
 
564
- def SymEnumerateModulesW(hProcess, EnumModulesCallback, UserContext = None):
590
+
591
+ def SymEnumerateModulesW(hProcess, EnumModulesCallback, UserContext=None):
565
592
  _SymEnumerateModulesW = windll.dbghelp.SymEnumerateModulesW
566
593
  _SymEnumerateModulesW.argtypes = [HANDLE, PSYM_ENUMMODULES_CALLBACKW, PVOID]
567
- _SymEnumerateModulesW.restype = bool
594
+ _SymEnumerateModulesW.restype = bool
568
595
  _SymEnumerateModulesW.errcheck = RaiseIfZero
569
596
 
570
597
  EnumModulesCallback = PSYM_ENUMMODULES_CALLBACKW(EnumModulesCallback)
@@ -574,17 +601,19 @@ def SymEnumerateModulesW(hProcess, EnumModulesCallback, UserContext = None):
574
601
  UserContext = LPVOID(NULL)
575
602
  _SymEnumerateModulesW(hProcess, EnumModulesCallback, UserContext)
576
603
 
604
+
577
605
  SymEnumerateModules = GuessStringType(SymEnumerateModulesA, SymEnumerateModulesW)
578
606
 
607
+
579
608
  # BOOL WINAPI SymEnumerateModules64(
580
609
  # __in HANDLE hProcess,
581
610
  # __in PSYM_ENUMMODULES_CALLBACK64 EnumModulesCallback,
582
611
  # __in_opt PVOID UserContext
583
612
  # );
584
- def SymEnumerateModules64A(hProcess, EnumModulesCallback, UserContext = None):
613
+ def SymEnumerateModules64A(hProcess, EnumModulesCallback, UserContext=None):
585
614
  _SymEnumerateModules64 = windll.dbghelp.SymEnumerateModules64
586
615
  _SymEnumerateModules64.argtypes = [HANDLE, PSYM_ENUMMODULES_CALLBACK64, PVOID]
587
- _SymEnumerateModules64.restype = bool
616
+ _SymEnumerateModules64.restype = bool
588
617
  _SymEnumerateModules64.errcheck = RaiseIfZero
589
618
 
590
619
  EnumModulesCallback = PSYM_ENUMMODULES_CALLBACK64(EnumModulesCallback)
@@ -594,10 +623,11 @@ def SymEnumerateModules64A(hProcess, EnumModulesCallback, UserContext = None):
594
623
  UserContext = LPVOID(NULL)
595
624
  _SymEnumerateModules64(hProcess, EnumModulesCallback, UserContext)
596
625
 
597
- def SymEnumerateModules64W(hProcess, EnumModulesCallback, UserContext = None):
626
+
627
+ def SymEnumerateModules64W(hProcess, EnumModulesCallback, UserContext=None):
598
628
  _SymEnumerateModules64W = windll.dbghelp.SymEnumerateModules64W
599
629
  _SymEnumerateModules64W.argtypes = [HANDLE, PSYM_ENUMMODULES_CALLBACK64W, PVOID]
600
- _SymEnumerateModules64W.restype = bool
630
+ _SymEnumerateModules64W.restype = bool
601
631
  _SymEnumerateModules64W.errcheck = RaiseIfZero
602
632
 
603
633
  EnumModulesCallback = PSYM_ENUMMODULES_CALLBACK64W(EnumModulesCallback)
@@ -607,6 +637,7 @@ def SymEnumerateModules64W(hProcess, EnumModulesCallback, UserContext = None):
607
637
  UserContext = LPVOID(NULL)
608
638
  _SymEnumerateModules64W(hProcess, EnumModulesCallback, UserContext)
609
639
 
640
+
610
641
  SymEnumerateModules64 = GuessStringType(SymEnumerateModules64A, SymEnumerateModules64W)
611
642
 
612
643
  # BOOL CALLBACK SymEnumerateSymbolsProc(
@@ -615,8 +646,8 @@ SymEnumerateModules64 = GuessStringType(SymEnumerateModules64A, SymEnumerateModu
615
646
  # __in ULONG SymbolSize,
616
647
  # __in_opt PVOID UserContext
617
648
  # );
618
- PSYM_ENUMSYMBOLS_CALLBACK = WINFUNCTYPE(BOOL, LPSTR, DWORD, ULONG, PVOID)
619
- PSYM_ENUMSYMBOLS_CALLBACKW = WINFUNCTYPE(BOOL, LPWSTR, DWORD, ULONG, PVOID)
649
+ PSYM_ENUMSYMBOLS_CALLBACK = WINFUNCTYPE(BOOL, LPSTR, DWORD, ULONG, PVOID)
650
+ PSYM_ENUMSYMBOLS_CALLBACKW = WINFUNCTYPE(BOOL, LPWSTR, DWORD, ULONG, PVOID)
620
651
 
621
652
  # BOOL CALLBACK SymEnumerateSymbolsProc64(
622
653
  # __in PCTSTR SymbolName,
@@ -624,19 +655,20 @@ PSYM_ENUMSYMBOLS_CALLBACKW = WINFUNCTYPE(BOOL, LPWSTR, DWORD, ULONG, PVOID)
624
655
  # __in ULONG SymbolSize,
625
656
  # __in_opt PVOID UserContext
626
657
  # );
627
- PSYM_ENUMSYMBOLS_CALLBACK64 = WINFUNCTYPE(BOOL, LPSTR, DWORD64, ULONG, PVOID)
658
+ PSYM_ENUMSYMBOLS_CALLBACK64 = WINFUNCTYPE(BOOL, LPSTR, DWORD64, ULONG, PVOID)
628
659
  PSYM_ENUMSYMBOLS_CALLBACKW64 = WINFUNCTYPE(BOOL, LPWSTR, DWORD64, ULONG, PVOID)
629
660
 
661
+
630
662
  # BOOL WINAPI SymEnumerateSymbols(
631
663
  # __in HANDLE hProcess,
632
664
  # __in ULONG BaseOfDll,
633
665
  # __in PSYM_ENUMSYMBOLS_CALLBACK EnumSymbolsCallback,
634
666
  # __in_opt PVOID UserContext
635
667
  # );
636
- def SymEnumerateSymbolsA(hProcess, BaseOfDll, EnumSymbolsCallback, UserContext = None):
668
+ def SymEnumerateSymbolsA(hProcess, BaseOfDll, EnumSymbolsCallback, UserContext=None):
637
669
  _SymEnumerateSymbols = windll.dbghelp.SymEnumerateSymbols
638
670
  _SymEnumerateSymbols.argtypes = [HANDLE, ULONG, PSYM_ENUMSYMBOLS_CALLBACK, PVOID]
639
- _SymEnumerateSymbols.restype = bool
671
+ _SymEnumerateSymbols.restype = bool
640
672
  _SymEnumerateSymbols.errcheck = RaiseIfZero
641
673
 
642
674
  EnumSymbolsCallback = PSYM_ENUMSYMBOLS_CALLBACK(EnumSymbolsCallback)
@@ -646,10 +678,11 @@ def SymEnumerateSymbolsA(hProcess, BaseOfDll, EnumSymbolsCallback, UserContext =
646
678
  UserContext = LPVOID(NULL)
647
679
  _SymEnumerateSymbols(hProcess, BaseOfDll, EnumSymbolsCallback, UserContext)
648
680
 
649
- def SymEnumerateSymbolsW(hProcess, BaseOfDll, EnumSymbolsCallback, UserContext = None):
681
+
682
+ def SymEnumerateSymbolsW(hProcess, BaseOfDll, EnumSymbolsCallback, UserContext=None):
650
683
  _SymEnumerateSymbolsW = windll.dbghelp.SymEnumerateSymbolsW
651
684
  _SymEnumerateSymbolsW.argtypes = [HANDLE, ULONG, PSYM_ENUMSYMBOLS_CALLBACKW, PVOID]
652
- _SymEnumerateSymbolsW.restype = bool
685
+ _SymEnumerateSymbolsW.restype = bool
653
686
  _SymEnumerateSymbolsW.errcheck = RaiseIfZero
654
687
 
655
688
  EnumSymbolsCallback = PSYM_ENUMSYMBOLS_CALLBACKW(EnumSymbolsCallback)
@@ -659,18 +692,20 @@ def SymEnumerateSymbolsW(hProcess, BaseOfDll, EnumSymbolsCallback, UserContext =
659
692
  UserContext = LPVOID(NULL)
660
693
  _SymEnumerateSymbolsW(hProcess, BaseOfDll, EnumSymbolsCallback, UserContext)
661
694
 
695
+
662
696
  SymEnumerateSymbols = GuessStringType(SymEnumerateSymbolsA, SymEnumerateSymbolsW)
663
697
 
698
+
664
699
  # BOOL WINAPI SymEnumerateSymbols64(
665
700
  # __in HANDLE hProcess,
666
701
  # __in ULONG64 BaseOfDll,
667
702
  # __in PSYM_ENUMSYMBOLS_CALLBACK64 EnumSymbolsCallback,
668
703
  # __in_opt PVOID UserContext
669
704
  # );
670
- def SymEnumerateSymbols64A(hProcess, BaseOfDll, EnumSymbolsCallback, UserContext = None):
705
+ def SymEnumerateSymbols64A(hProcess, BaseOfDll, EnumSymbolsCallback, UserContext=None):
671
706
  _SymEnumerateSymbols64 = windll.dbghelp.SymEnumerateSymbols64
672
707
  _SymEnumerateSymbols64.argtypes = [HANDLE, ULONG64, PSYM_ENUMSYMBOLS_CALLBACK64, PVOID]
673
- _SymEnumerateSymbols64.restype = bool
708
+ _SymEnumerateSymbols64.restype = bool
674
709
  _SymEnumerateSymbols64.errcheck = RaiseIfZero
675
710
 
676
711
  EnumSymbolsCallback = PSYM_ENUMSYMBOLS_CALLBACK64(EnumSymbolsCallback)
@@ -680,10 +715,11 @@ def SymEnumerateSymbols64A(hProcess, BaseOfDll, EnumSymbolsCallback, UserContext
680
715
  UserContext = LPVOID(NULL)
681
716
  _SymEnumerateSymbols64(hProcess, BaseOfDll, EnumSymbolsCallback, UserContext)
682
717
 
683
- def SymEnumerateSymbols64W(hProcess, BaseOfDll, EnumSymbolsCallback, UserContext = None):
718
+
719
+ def SymEnumerateSymbols64W(hProcess, BaseOfDll, EnumSymbolsCallback, UserContext=None):
684
720
  _SymEnumerateSymbols64W = windll.dbghelp.SymEnumerateSymbols64W
685
721
  _SymEnumerateSymbols64W.argtypes = [HANDLE, ULONG64, PSYM_ENUMSYMBOLS_CALLBACK64W, PVOID]
686
- _SymEnumerateSymbols64W.restype = bool
722
+ _SymEnumerateSymbols64W.restype = bool
687
723
  _SymEnumerateSymbols64W.errcheck = RaiseIfZero
688
724
 
689
725
  EnumSymbolsCallback = PSYM_ENUMSYMBOLS_CALLBACK64W(EnumSymbolsCallback)
@@ -693,38 +729,43 @@ def SymEnumerateSymbols64W(hProcess, BaseOfDll, EnumSymbolsCallback, UserContext
693
729
  UserContext = LPVOID(NULL)
694
730
  _SymEnumerateSymbols64W(hProcess, BaseOfDll, EnumSymbolsCallback, UserContext)
695
731
 
732
+
696
733
  SymEnumerateSymbols64 = GuessStringType(SymEnumerateSymbols64A, SymEnumerateSymbols64W)
697
734
 
735
+
698
736
  # DWORD WINAPI UnDecorateSymbolName(
699
737
  # __in PCTSTR DecoratedName,
700
738
  # __out PTSTR UnDecoratedName,
701
739
  # __in DWORD UndecoratedLength,
702
740
  # __in DWORD Flags
703
741
  # );
704
- def UnDecorateSymbolNameA(DecoratedName, Flags = UNDNAME_COMPLETE):
742
+ def UnDecorateSymbolNameA(DecoratedName, Flags=UNDNAME_COMPLETE):
705
743
  _UnDecorateSymbolNameA = windll.dbghelp.UnDecorateSymbolName
706
744
  _UnDecorateSymbolNameA.argtypes = [LPSTR, LPSTR, DWORD, DWORD]
707
- _UnDecorateSymbolNameA.restype = DWORD
745
+ _UnDecorateSymbolNameA.restype = DWORD
708
746
  _UnDecorateSymbolNameA.errcheck = RaiseIfZero
709
747
 
710
748
  UndecoratedLength = _UnDecorateSymbolNameA(DecoratedName, None, 0, Flags)
711
- UnDecoratedName = ctypes.create_string_buffer('', UndecoratedLength + 1)
749
+ UnDecoratedName = ctypes.create_string_buffer("", UndecoratedLength + 1)
712
750
  _UnDecorateSymbolNameA(DecoratedName, UnDecoratedName, UndecoratedLength, Flags)
713
751
  return UnDecoratedName.value
714
752
 
715
- def UnDecorateSymbolNameW(DecoratedName, Flags = UNDNAME_COMPLETE):
753
+
754
+ def UnDecorateSymbolNameW(DecoratedName, Flags=UNDNAME_COMPLETE):
716
755
  _UnDecorateSymbolNameW = windll.dbghelp.UnDecorateSymbolNameW
717
756
  _UnDecorateSymbolNameW.argtypes = [LPWSTR, LPWSTR, DWORD, DWORD]
718
- _UnDecorateSymbolNameW.restype = DWORD
757
+ _UnDecorateSymbolNameW.restype = DWORD
719
758
  _UnDecorateSymbolNameW.errcheck = RaiseIfZero
720
759
 
721
760
  UndecoratedLength = _UnDecorateSymbolNameW(DecoratedName, None, 0, Flags)
722
- UnDecoratedName = ctypes.create_unicode_buffer(u'', UndecoratedLength + 1)
761
+ UnDecoratedName = ctypes.create_unicode_buffer("", UndecoratedLength + 1)
723
762
  _UnDecorateSymbolNameW(DecoratedName, UnDecoratedName, UndecoratedLength, Flags)
724
763
  return UnDecoratedName.value
725
764
 
765
+
726
766
  UnDecorateSymbolName = GuessStringType(UnDecorateSymbolNameA, UnDecorateSymbolNameW)
727
767
 
768
+
728
769
  # BOOL WINAPI SymGetSearchPath(
729
770
  # __in HANDLE hProcess,
730
771
  # __out PTSTR SearchPath,
@@ -733,7 +774,7 @@ UnDecorateSymbolName = GuessStringType(UnDecorateSymbolNameA, UnDecorateSymbolNa
733
774
  def SymGetSearchPathA(hProcess):
734
775
  _SymGetSearchPath = windll.dbghelp.SymGetSearchPath
735
776
  _SymGetSearchPath.argtypes = [HANDLE, LPSTR, DWORD]
736
- _SymGetSearchPath.restype = bool
777
+ _SymGetSearchPath.restype = bool
737
778
  _SymGetSearchPath.errcheck = RaiseIfZero
738
779
 
739
780
  SearchPathLength = MAX_PATH
@@ -741,43 +782,49 @@ def SymGetSearchPathA(hProcess):
741
782
  _SymGetSearchPath(hProcess, SearchPath, SearchPathLength)
742
783
  return SearchPath.value
743
784
 
785
+
744
786
  def SymGetSearchPathW(hProcess):
745
787
  _SymGetSearchPathW = windll.dbghelp.SymGetSearchPathW
746
788
  _SymGetSearchPathW.argtypes = [HANDLE, LPWSTR, DWORD]
747
- _SymGetSearchPathW.restype = bool
789
+ _SymGetSearchPathW.restype = bool
748
790
  _SymGetSearchPathW.errcheck = RaiseIfZero
749
791
 
750
792
  SearchPathLength = MAX_PATH
751
- SearchPath = ctypes.create_unicode_buffer(u"", SearchPathLength)
793
+ SearchPath = ctypes.create_unicode_buffer("", SearchPathLength)
752
794
  _SymGetSearchPathW(hProcess, SearchPath, SearchPathLength)
753
795
  return SearchPath.value
754
796
 
797
+
755
798
  SymGetSearchPath = GuessStringType(SymGetSearchPathA, SymGetSearchPathW)
756
799
 
800
+
757
801
  # BOOL WINAPI SymSetSearchPath(
758
802
  # __in HANDLE hProcess,
759
803
  # __in_opt PCTSTR SearchPath
760
804
  # );
761
- def SymSetSearchPathA(hProcess, SearchPath = None):
805
+ def SymSetSearchPathA(hProcess, SearchPath=None):
762
806
  _SymSetSearchPath = windll.dbghelp.SymSetSearchPath
763
807
  _SymSetSearchPath.argtypes = [HANDLE, LPSTR]
764
- _SymSetSearchPath.restype = bool
808
+ _SymSetSearchPath.restype = bool
765
809
  _SymSetSearchPath.errcheck = RaiseIfZero
766
810
  if not SearchPath:
767
811
  SearchPath = None
768
812
  _SymSetSearchPath(hProcess, SearchPath)
769
813
 
770
- def SymSetSearchPathW(hProcess, SearchPath = None):
814
+
815
+ def SymSetSearchPathW(hProcess, SearchPath=None):
771
816
  _SymSetSearchPathW = windll.dbghelp.SymSetSearchPathW
772
817
  _SymSetSearchPathW.argtypes = [HANDLE, LPWSTR]
773
- _SymSetSearchPathW.restype = bool
818
+ _SymSetSearchPathW.restype = bool
774
819
  _SymSetSearchPathW.errcheck = RaiseIfZero
775
820
  if not SearchPath:
776
821
  SearchPath = None
777
822
  _SymSetSearchPathW(hProcess, SearchPath)
778
823
 
824
+
779
825
  SymSetSearchPath = GuessStringType(SymSetSearchPathA, SymSetSearchPathW)
780
826
 
827
+
781
828
  # PTCHAR WINAPI SymGetHomeDirectory(
782
829
  # __in DWORD type,
783
830
  # __out PTSTR dir,
@@ -786,54 +833,59 @@ SymSetSearchPath = GuessStringType(SymSetSearchPathA, SymSetSearchPathW)
786
833
  def SymGetHomeDirectoryA(type):
787
834
  _SymGetHomeDirectoryA = windll.dbghelp.SymGetHomeDirectoryA
788
835
  _SymGetHomeDirectoryA.argtypes = [DWORD, LPSTR, SIZE_T]
789
- _SymGetHomeDirectoryA.restype = LPSTR
836
+ _SymGetHomeDirectoryA.restype = LPSTR
790
837
  _SymGetHomeDirectoryA.errcheck = RaiseIfZero
791
838
 
792
839
  size = MAX_PATH
793
- dir = ctypes.create_string_buffer("", size)
840
+ dir = ctypes.create_string_buffer("", size)
794
841
  _SymGetHomeDirectoryA(type, dir, size)
795
842
  return dir.value
796
843
 
844
+
797
845
  def SymGetHomeDirectoryW(type):
798
846
  _SymGetHomeDirectoryW = windll.dbghelp.SymGetHomeDirectoryW
799
847
  _SymGetHomeDirectoryW.argtypes = [DWORD, LPWSTR, SIZE_T]
800
- _SymGetHomeDirectoryW.restype = LPWSTR
848
+ _SymGetHomeDirectoryW.restype = LPWSTR
801
849
  _SymGetHomeDirectoryW.errcheck = RaiseIfZero
802
850
 
803
851
  size = MAX_PATH
804
- dir = ctypes.create_unicode_buffer(u"", size)
852
+ dir = ctypes.create_unicode_buffer("", size)
805
853
  _SymGetHomeDirectoryW(type, dir, size)
806
854
  return dir.value
807
855
 
856
+
808
857
  SymGetHomeDirectory = GuessStringType(SymGetHomeDirectoryA, SymGetHomeDirectoryW)
809
858
 
859
+
810
860
  # PTCHAR WINAPI SymSetHomeDirectory(
811
861
  # __in HANDLE hProcess,
812
862
  # __in_opt PCTSTR dir
813
863
  # );
814
- def SymSetHomeDirectoryA(hProcess, dir = None):
864
+ def SymSetHomeDirectoryA(hProcess, dir=None):
815
865
  _SymSetHomeDirectoryA = windll.dbghelp.SymSetHomeDirectoryA
816
866
  _SymSetHomeDirectoryA.argtypes = [HANDLE, LPSTR]
817
- _SymSetHomeDirectoryA.restype = LPSTR
867
+ _SymSetHomeDirectoryA.restype = LPSTR
818
868
  _SymSetHomeDirectoryA.errcheck = RaiseIfZero
819
869
  if not dir:
820
870
  dir = None
821
871
  _SymSetHomeDirectoryA(hProcess, dir)
822
872
  return dir
823
873
 
824
- def SymSetHomeDirectoryW(hProcess, dir = None):
874
+
875
+ def SymSetHomeDirectoryW(hProcess, dir=None):
825
876
  _SymSetHomeDirectoryW = windll.dbghelp.SymSetHomeDirectoryW
826
877
  _SymSetHomeDirectoryW.argtypes = [HANDLE, LPWSTR]
827
- _SymSetHomeDirectoryW.restype = LPWSTR
878
+ _SymSetHomeDirectoryW.restype = LPWSTR
828
879
  _SymSetHomeDirectoryW.errcheck = RaiseIfZero
829
880
  if not dir:
830
881
  dir = None
831
882
  _SymSetHomeDirectoryW(hProcess, dir)
832
883
  return dir
833
884
 
885
+
834
886
  SymSetHomeDirectory = GuessStringType(SymSetHomeDirectoryA, SymSetHomeDirectoryW)
835
887
 
836
- #--- DbgHelp 5+ support, patch by Neitsa --------------------------------------
888
+ # --- DbgHelp 5+ support, patch by Neitsa --------------------------------------
837
889
 
838
890
  # XXX TODO
839
891
  # + use the GuessStringType decorator for ANSI/Wide versions
@@ -843,56 +895,63 @@ SymSetHomeDirectory = GuessStringType(SymSetHomeDirectoryA, SymSetHomeDirectoryW
843
895
  # ourselves with a default error code?)
844
896
  # /Mario
845
897
 
846
- #maximum length of a symbol name
898
+ # maximum length of a symbol name
847
899
  MAX_SYM_NAME = 2000
848
900
 
901
+
849
902
  class SYM_INFO(Structure):
850
903
  _fields_ = [
851
- ("SizeOfStruct", ULONG),
852
- ("TypeIndex", ULONG),
853
- ("Reserved", ULONG64 * 2),
854
- ("Index", ULONG),
855
- ("Size", ULONG),
856
- ("ModBase", ULONG64),
857
- ("Flags", ULONG),
858
- ("Value", ULONG64),
859
- ("Address", ULONG64),
860
- ("Register", ULONG),
861
- ("Scope", ULONG),
862
- ("Tag", ULONG),
863
- ("NameLen", ULONG),
864
- ("MaxNameLen", ULONG),
865
- ("Name", CHAR * (MAX_SYM_NAME + 1)),
904
+ ("SizeOfStruct", ULONG),
905
+ ("TypeIndex", ULONG),
906
+ ("Reserved", ULONG64 * 2),
907
+ ("Index", ULONG),
908
+ ("Size", ULONG),
909
+ ("ModBase", ULONG64),
910
+ ("Flags", ULONG),
911
+ ("Value", ULONG64),
912
+ ("Address", ULONG64),
913
+ ("Register", ULONG),
914
+ ("Scope", ULONG),
915
+ ("Tag", ULONG),
916
+ ("NameLen", ULONG),
917
+ ("MaxNameLen", ULONG),
918
+ ("Name", CHAR * (MAX_SYM_NAME + 1)),
866
919
  ]
920
+
921
+
867
922
  PSYM_INFO = POINTER(SYM_INFO)
868
923
 
924
+
869
925
  class SYM_INFOW(Structure):
870
926
  _fields_ = [
871
- ("SizeOfStruct", ULONG),
872
- ("TypeIndex", ULONG),
873
- ("Reserved", ULONG64 * 2),
874
- ("Index", ULONG),
875
- ("Size", ULONG),
876
- ("ModBase", ULONG64),
877
- ("Flags", ULONG),
878
- ("Value", ULONG64),
879
- ("Address", ULONG64),
880
- ("Register", ULONG),
881
- ("Scope", ULONG),
882
- ("Tag", ULONG),
883
- ("NameLen", ULONG),
884
- ("MaxNameLen", ULONG),
885
- ("Name", WCHAR * (MAX_SYM_NAME + 1)),
927
+ ("SizeOfStruct", ULONG),
928
+ ("TypeIndex", ULONG),
929
+ ("Reserved", ULONG64 * 2),
930
+ ("Index", ULONG),
931
+ ("Size", ULONG),
932
+ ("ModBase", ULONG64),
933
+ ("Flags", ULONG),
934
+ ("Value", ULONG64),
935
+ ("Address", ULONG64),
936
+ ("Register", ULONG),
937
+ ("Scope", ULONG),
938
+ ("Tag", ULONG),
939
+ ("NameLen", ULONG),
940
+ ("MaxNameLen", ULONG),
941
+ ("Name", WCHAR * (MAX_SYM_NAME + 1)),
886
942
  ]
943
+
944
+
887
945
  PSYM_INFOW = POINTER(SYM_INFOW)
888
946
 
889
- #===============================================================================
947
+
948
+ # ===============================================================================
890
949
  # BOOL WINAPI SymFromName(
891
950
  # __in HANDLE hProcess,
892
951
  # __in PCTSTR Name,
893
952
  # __inout PSYMBOL_INFO Symbol
894
953
  # );
895
- #===============================================================================
954
+ # ===============================================================================
896
955
  def SymFromName(hProcess, Name):
897
956
  _SymFromNameA = windll.dbghelp.SymFromName
898
957
  _SymFromNameA.argtypes = [HANDLE, LPSTR, PSYM_INFO]
@@ -900,13 +959,14 @@ def SymFromName(hProcess, Name):
900
959
  _SymFromNameA.errcheck = RaiseIfZero
901
960
 
902
961
  SymInfo = SYM_INFO()
903
- SymInfo.SizeOfStruct = 88 # *don't modify*: sizeof(SYMBOL_INFO) in C.
962
+ SymInfo.SizeOfStruct = 88 # *don't modify*: sizeof(SYMBOL_INFO) in C.
904
963
  SymInfo.MaxNameLen = MAX_SYM_NAME
905
964
 
906
965
  _SymFromNameA(hProcess, Name, byref(SymInfo))
907
966
 
908
967
  return SymInfo
909
968
 
969
+
910
970
  def SymFromNameW(hProcess, Name):
911
971
  _SymFromNameW = windll.dbghelp.SymFromNameW
912
972
  _SymFromNameW.argtypes = [HANDLE, LPWSTR, PSYM_INFOW]
@@ -914,21 +974,22 @@ def SymFromNameW(hProcess, Name):
914
974
  _SymFromNameW.errcheck = RaiseIfZero
915
975
 
916
976
  SymInfo = SYM_INFOW()
917
- SymInfo.SizeOfStruct = 88 # *don't modify*: sizeof(SYMBOL_INFOW) in C.
977
+ SymInfo.SizeOfStruct = 88 # *don't modify*: sizeof(SYMBOL_INFOW) in C.
918
978
  SymInfo.MaxNameLen = MAX_SYM_NAME
919
979
 
920
980
  _SymFromNameW(hProcess, Name, byref(SymInfo))
921
981
 
922
982
  return SymInfo
923
983
 
924
- #===============================================================================
984
+
985
+ # ===============================================================================
925
986
  # BOOL WINAPI SymFromAddr(
926
987
  # __in HANDLE hProcess,
927
988
  # __in DWORD64 Address,
928
989
  # __out_opt PDWORD64 Displacement,
929
990
  # __inout PSYMBOL_INFO Symbol
930
991
  # );
931
- #===============================================================================
992
+ # ===============================================================================
932
993
  def SymFromAddr(hProcess, Address):
933
994
  _SymFromAddr = windll.dbghelp.SymFromAddr
934
995
  _SymFromAddr.argtypes = [HANDLE, DWORD64, PDWORD64, PSYM_INFO]
@@ -936,7 +997,7 @@ def SymFromAddr(hProcess, Address):
936
997
  _SymFromAddr.errcheck = RaiseIfZero
937
998
 
938
999
  SymInfo = SYM_INFO()
939
- SymInfo.SizeOfStruct = 88 # *don't modify*: sizeof(SYMBOL_INFO) in C.
1000
+ SymInfo.SizeOfStruct = 88 # *don't modify*: sizeof(SYMBOL_INFO) in C.
940
1001
  SymInfo.MaxNameLen = MAX_SYM_NAME
941
1002
 
942
1003
  Displacement = DWORD64(0)
@@ -944,6 +1005,7 @@ def SymFromAddr(hProcess, Address):
944
1005
 
945
1006
  return (Displacement.value, SymInfo)
946
1007
 
1008
+
947
1009
  def SymFromAddrW(hProcess, Address):
948
1010
  _SymFromAddr = windll.dbghelp.SymFromAddrW
949
1011
  _SymFromAddr.argtypes = [HANDLE, DWORD64, PDWORD64, PSYM_INFOW]
@@ -951,7 +1013,7 @@ def SymFromAddrW(hProcess, Address):
951
1013
  _SymFromAddr.errcheck = RaiseIfZero
952
1014
 
953
1015
  SymInfo = SYM_INFOW()
954
- SymInfo.SizeOfStruct = 88 # *don't modify*: sizeof(SYMBOL_INFOW) in C.
1016
+ SymInfo.SizeOfStruct = 88 # *don't modify*: sizeof(SYMBOL_INFOW) in C.
955
1017
  SymInfo.MaxNameLen = MAX_SYM_NAME
956
1018
 
957
1019
  Displacement = DWORD64(0)
@@ -959,7 +1021,8 @@ def SymFromAddrW(hProcess, Address):
959
1021
 
960
1022
  return (Displacement.value, SymInfo)
961
1023
 
962
- #===============================================================================
1024
+
1025
+ # ===============================================================================
963
1026
  # typedef struct _IMAGEHLP_SYMBOL64 {
964
1027
  # DWORD SizeOfStruct;
965
1028
  # DWORD64 Address;
@@ -968,19 +1031,22 @@ def SymFromAddrW(hProcess, Address):
968
1031
  # DWORD MaxNameLength;
969
1032
  # CHAR Name[1];
970
1033
  # } IMAGEHLP_SYMBOL64, *PIMAGEHLP_SYMBOL64;
971
- #===============================================================================
972
- class IMAGEHLP_SYMBOL64 (Structure):
1034
+ # ===============================================================================
1035
+ class IMAGEHLP_SYMBOL64(Structure):
973
1036
  _fields_ = [
974
- ("SizeOfStruct", DWORD),
975
- ("Address", DWORD64),
976
- ("Size", DWORD),
977
- ("Flags", DWORD),
978
- ("MaxNameLength", DWORD),
979
- ("Name", CHAR * (MAX_SYM_NAME + 1)),
1037
+ ("SizeOfStruct", DWORD),
1038
+ ("Address", DWORD64),
1039
+ ("Size", DWORD),
1040
+ ("Flags", DWORD),
1041
+ ("MaxNameLength", DWORD),
1042
+ ("Name", CHAR * (MAX_SYM_NAME + 1)),
980
1043
  ]
1044
+
1045
+
981
1046
  PIMAGEHLP_SYMBOL64 = POINTER(IMAGEHLP_SYMBOL64)
982
1047
 
983
- #===============================================================================
1048
+
1049
+ # ===============================================================================
984
1050
  # typedef struct _IMAGEHLP_SYMBOLW64 {
985
1051
  # DWORD SizeOfStruct;
986
1052
  # DWORD64 Address;
@@ -989,26 +1055,29 @@ PIMAGEHLP_SYMBOL64 = POINTER(IMAGEHLP_SYMBOL64)
989
1055
  # DWORD MaxNameLength;
990
1056
  # WCHAR Name[1];
991
1057
  # } IMAGEHLP_SYMBOLW64, *PIMAGEHLP_SYMBOLW64;
992
- #===============================================================================
993
- class IMAGEHLP_SYMBOLW64 (Structure):
1058
+ # ===============================================================================
1059
+ class IMAGEHLP_SYMBOLW64(Structure):
994
1060
  _fields_ = [
995
- ("SizeOfStruct", DWORD),
996
- ("Address", DWORD64),
997
- ("Size", DWORD),
998
- ("Flags", DWORD),
999
- ("MaxNameLength", DWORD),
1000
- ("Name", WCHAR * (MAX_SYM_NAME + 1)),
1061
+ ("SizeOfStruct", DWORD),
1062
+ ("Address", DWORD64),
1063
+ ("Size", DWORD),
1064
+ ("Flags", DWORD),
1065
+ ("MaxNameLength", DWORD),
1066
+ ("Name", WCHAR * (MAX_SYM_NAME + 1)),
1001
1067
  ]
1068
+
1069
+
1002
1070
  PIMAGEHLP_SYMBOLW64 = POINTER(IMAGEHLP_SYMBOLW64)
1003
1071
 
1004
- #===============================================================================
1072
+
1073
+ # ===============================================================================
1005
1074
  # BOOL WINAPI SymGetSymFromAddr64(
1006
1075
  # __in HANDLE hProcess,
1007
1076
  # __in DWORD64 Address,
1008
1077
  # __out_opt PDWORD64 Displacement,
1009
1078
  # __inout PIMAGEHLP_SYMBOL64 Symbol
1010
1079
  # );
1011
- #===============================================================================
1080
+ # ===============================================================================
1012
1081
  def SymGetSymFromAddr64(hProcess, Address):
1013
1082
  _SymGetSymFromAddr64 = windll.dbghelp.SymGetSymFromAddr64
1014
1083
  _SymGetSymFromAddr64.argtypes = [HANDLE, DWORD64, PDWORD64, PIMAGEHLP_SYMBOL64]
@@ -1016,7 +1085,7 @@ def SymGetSymFromAddr64(hProcess, Address):
1016
1085
  _SymGetSymFromAddr64.errcheck = RaiseIfZero
1017
1086
 
1018
1087
  imagehlp_symbol64 = IMAGEHLP_SYMBOL64()
1019
- imagehlp_symbol64.SizeOfStruct = 32 # *don't modify*: sizeof(IMAGEHLP_SYMBOL64) in C.
1088
+ imagehlp_symbol64.SizeOfStruct = 32 # *don't modify*: sizeof(IMAGEHLP_SYMBOL64) in C.
1020
1089
  imagehlp_symbol64.MaxNameLen = MAX_SYM_NAME
1021
1090
 
1022
1091
  Displacement = DWORD64(0)
@@ -1024,30 +1093,34 @@ def SymGetSymFromAddr64(hProcess, Address):
1024
1093
 
1025
1094
  return (Displacement.value, imagehlp_symbol64)
1026
1095
 
1027
- #TODO: check for the 'W' version of SymGetSymFromAddr64()
1028
1096
 
1097
+ # TODO: check for the 'W' version of SymGetSymFromAddr64()
1029
1098
 
1030
- #===============================================================================
1099
+
1100
+ # ===============================================================================
1031
1101
  # typedef struct API_VERSION {
1032
1102
  # USHORT MajorVersion;
1033
1103
  # USHORT MinorVersion;
1034
1104
  # USHORT Revision;
1035
1105
  # USHORT Reserved;
1036
1106
  # } API_VERSION, *LPAPI_VERSION;
1037
- #===============================================================================
1038
- class API_VERSION (Structure):
1107
+ # ===============================================================================
1108
+ class API_VERSION(Structure):
1039
1109
  _fields_ = [
1040
- ("MajorVersion", USHORT),
1041
- ("MinorVersion", USHORT),
1042
- ("Revision", USHORT),
1043
- ("Reserved", USHORT),
1110
+ ("MajorVersion", USHORT),
1111
+ ("MinorVersion", USHORT),
1112
+ ("Revision", USHORT),
1113
+ ("Reserved", USHORT),
1044
1114
  ]
1115
+
1116
+
1045
1117
  PAPI_VERSION = POINTER(API_VERSION)
1046
1118
  LPAPI_VERSION = PAPI_VERSION
1047
1119
 
1048
- #===============================================================================
1120
+
1121
+ # ===============================================================================
1049
1122
  # LPAPI_VERSION WINAPI ImagehlpApiVersion(void);
1050
- #===============================================================================
1123
+ # ===============================================================================
1051
1124
  def ImagehlpApiVersion():
1052
1125
  _ImagehlpApiVersion = windll.dbghelp.ImagehlpApiVersion
1053
1126
  _ImagehlpApiVersion.restype = LPAPI_VERSION
@@ -1056,11 +1129,11 @@ def ImagehlpApiVersion():
1056
1129
  return api_version.contents
1057
1130
 
1058
1131
 
1059
- #===============================================================================
1132
+ # ===============================================================================
1060
1133
  # LPAPI_VERSION WINAPI ImagehlpApiVersionEx(
1061
1134
  # __in LPAPI_VERSION AppVersion
1062
1135
  # );
1063
- #===============================================================================
1136
+ # ===============================================================================
1064
1137
  def ImagehlpApiVersionEx(MajorVersion, MinorVersion, Revision):
1065
1138
  _ImagehlpApiVersionEx = windll.dbghelp.ImagehlpApiVersionEx
1066
1139
  _ImagehlpApiVersionEx.argtypes = [LPAPI_VERSION]
@@ -1072,37 +1145,42 @@ def ImagehlpApiVersionEx(MajorVersion, MinorVersion, Revision):
1072
1145
 
1073
1146
  return ret_api_version.contents
1074
1147
 
1075
- #===============================================================================
1148
+
1149
+ # ===============================================================================
1076
1150
  # typedef enum {
1077
1151
  # AddrMode1616,
1078
1152
  # AddrMode1632,
1079
1153
  # AddrModeReal,
1080
1154
  # AddrModeFlat
1081
1155
  # } ADDRESS_MODE;
1082
- #===============================================================================
1156
+ # ===============================================================================
1083
1157
  AddrMode1616 = 0
1084
1158
  AddrMode1632 = 1
1085
1159
  AddrModeReal = 2
1086
1160
  AddrModeFlat = 3
1087
1161
 
1088
- ADDRESS_MODE = DWORD #needed for the size of an ADDRESS_MODE (see ADDRESS64)
1162
+ ADDRESS_MODE = DWORD # needed for the size of an ADDRESS_MODE (see ADDRESS64)
1163
+
1089
1164
 
1090
- #===============================================================================
1165
+ # ===============================================================================
1091
1166
  # typedef struct _tagADDRESS64 {
1092
1167
  # DWORD64 Offset;
1093
1168
  # WORD Segment;
1094
1169
  # ADDRESS_MODE Mode;
1095
1170
  # } ADDRESS64, *LPADDRESS64;
1096
- #===============================================================================
1097
- class ADDRESS64 (Structure):
1171
+ # ===============================================================================
1172
+ class ADDRESS64(Structure):
1098
1173
  _fields_ = [
1099
- ("Offset", DWORD64),
1100
- ("Segment", WORD),
1101
- ("Mode", ADDRESS_MODE), #it's a member of the ADDRESS_MODE enum.
1174
+ ("Offset", DWORD64),
1175
+ ("Segment", WORD),
1176
+ ("Mode", ADDRESS_MODE), # it's a member of the ADDRESS_MODE enum.
1102
1177
  ]
1178
+
1179
+
1103
1180
  LPADDRESS64 = POINTER(ADDRESS64)
1104
1181
 
1105
- #===============================================================================
1182
+
1183
+ # ===============================================================================
1106
1184
  # typedef struct _KDHELP64 {
1107
1185
  # DWORD64 Thread;
1108
1186
  # DWORD ThCallbackStack;
@@ -1117,25 +1195,28 @@ LPADDRESS64 = POINTER(ADDRESS64)
1117
1195
  # DWORD64 StackLimit;
1118
1196
  # DWORD64 Reserved[5];
1119
1197
  # } KDHELP64, *PKDHELP64;
1120
- #===============================================================================
1121
- class KDHELP64 (Structure):
1198
+ # ===============================================================================
1199
+ class KDHELP64(Structure):
1122
1200
  _fields_ = [
1123
- ("Thread", DWORD64),
1124
- ("ThCallbackStack", DWORD),
1125
- ("ThCallbackBStore", DWORD),
1126
- ("NextCallback", DWORD),
1127
- ("FramePointer", DWORD),
1128
- ("KiCallUserMode", DWORD64),
1129
- ("KeUserCallbackDispatcher", DWORD64),
1130
- ("SystemRangeStart", DWORD64),
1131
- ("KiUserExceptionDispatcher", DWORD64),
1132
- ("StackBase", DWORD64),
1133
- ("StackLimit", DWORD64),
1134
- ("Reserved", DWORD64 * 5),
1201
+ ("Thread", DWORD64),
1202
+ ("ThCallbackStack", DWORD),
1203
+ ("ThCallbackBStore", DWORD),
1204
+ ("NextCallback", DWORD),
1205
+ ("FramePointer", DWORD),
1206
+ ("KiCallUserMode", DWORD64),
1207
+ ("KeUserCallbackDispatcher", DWORD64),
1208
+ ("SystemRangeStart", DWORD64),
1209
+ ("KiUserExceptionDispatcher", DWORD64),
1210
+ ("StackBase", DWORD64),
1211
+ ("StackLimit", DWORD64),
1212
+ ("Reserved", DWORD64 * 5),
1135
1213
  ]
1214
+
1215
+
1136
1216
  PKDHELP64 = POINTER(KDHELP64)
1137
1217
 
1138
- #===============================================================================
1218
+
1219
+ # ===============================================================================
1139
1220
  # typedef struct _tagSTACKFRAME64 {
1140
1221
  # ADDRESS64 AddrPC;
1141
1222
  # ADDRESS64 AddrReturn;
@@ -1149,24 +1230,26 @@ PKDHELP64 = POINTER(KDHELP64)
1149
1230
  # DWORD64 Reserved[3];
1150
1231
  # KDHELP64 KdHelp;
1151
1232
  # } STACKFRAME64, *LPSTACKFRAME64;
1152
- #===============================================================================
1233
+ # ===============================================================================
1153
1234
  class STACKFRAME64(Structure):
1154
1235
  _fields_ = [
1155
- ("AddrPC", ADDRESS64),
1156
- ("AddrReturn", ADDRESS64),
1157
- ("AddrFrame", ADDRESS64),
1158
- ("AddrStack", ADDRESS64),
1159
- ("AddrBStore", ADDRESS64),
1160
- ("FuncTableEntry", PVOID),
1161
- ("Params", DWORD64 * 4),
1162
- ("Far", BOOL),
1163
- ("Virtual", BOOL),
1164
- ("Reserved", DWORD64 * 3),
1165
- ("KdHelp", KDHELP64),
1236
+ ("AddrPC", ADDRESS64),
1237
+ ("AddrReturn", ADDRESS64),
1238
+ ("AddrFrame", ADDRESS64),
1239
+ ("AddrStack", ADDRESS64),
1240
+ ("AddrBStore", ADDRESS64),
1241
+ ("FuncTableEntry", PVOID),
1242
+ ("Params", DWORD64 * 4),
1243
+ ("Far", BOOL),
1244
+ ("Virtual", BOOL),
1245
+ ("Reserved", DWORD64 * 3),
1246
+ ("KdHelp", KDHELP64),
1166
1247
  ]
1248
+
1249
+
1167
1250
  LPSTACKFRAME64 = POINTER(STACKFRAME64)
1168
1251
 
1169
- #===============================================================================
1252
+ # ===============================================================================
1170
1253
  # BOOL CALLBACK ReadProcessMemoryProc64(
1171
1254
  # __in HANDLE hProcess,
1172
1255
  # __in DWORD64 lpBaseAddress,
@@ -1174,39 +1257,40 @@ LPSTACKFRAME64 = POINTER(STACKFRAME64)
1174
1257
  # __in DWORD nSize,
1175
1258
  # __out LPDWORD lpNumberOfBytesRead
1176
1259
  # );
1177
- #===============================================================================
1260
+ # ===============================================================================
1178
1261
  PREAD_PROCESS_MEMORY_ROUTINE64 = WINFUNCTYPE(BOOL, HANDLE, DWORD64, PVOID, DWORD, LPDWORD)
1179
1262
 
1180
- #===============================================================================
1263
+ # ===============================================================================
1181
1264
  # PVOID CALLBACK FunctionTableAccessProc64(
1182
1265
  # __in HANDLE hProcess,
1183
1266
  # __in DWORD64 AddrBase
1184
1267
  # );
1185
- #===============================================================================
1268
+ # ===============================================================================
1186
1269
  PFUNCTION_TABLE_ACCESS_ROUTINE64 = WINFUNCTYPE(PVOID, HANDLE, DWORD64)
1187
1270
 
1188
- #===============================================================================
1271
+ # ===============================================================================
1189
1272
  # DWORD64 CALLBACK GetModuleBaseProc64(
1190
1273
  # __in HANDLE hProcess,
1191
1274
  # __in DWORD64 Address
1192
1275
  # );
1193
- #===============================================================================
1276
+ # ===============================================================================
1194
1277
  PGET_MODULE_BASE_ROUTINE64 = WINFUNCTYPE(DWORD64, HANDLE, DWORD64)
1195
1278
 
1196
- #===============================================================================
1279
+ # ===============================================================================
1197
1280
  # DWORD64 CALLBACK GetModuleBaseProc64(
1198
1281
  # __in HANDLE hProcess,
1199
1282
  # __in DWORD64 Address
1200
1283
  # );
1201
- #===============================================================================
1284
+ # ===============================================================================
1202
1285
  PTRANSLATE_ADDRESS_ROUTINE64 = WINFUNCTYPE(DWORD64, HANDLE, DWORD64)
1203
1286
 
1204
1287
  # Valid machine types for StackWalk64 function
1205
- IMAGE_FILE_MACHINE_I386 = 0x014c #Intel x86
1206
- IMAGE_FILE_MACHINE_IA64 = 0x0200 #Intel Itanium Processor Family (IPF)
1207
- IMAGE_FILE_MACHINE_AMD64 = 0x8664 #x64 (AMD64 or EM64T)
1288
+ IMAGE_FILE_MACHINE_I386 = 0x014C # Intel x86
1289
+ IMAGE_FILE_MACHINE_IA64 = 0x0200 # Intel Itanium Processor Family (IPF)
1290
+ IMAGE_FILE_MACHINE_AMD64 = 0x8664 # x64 (AMD64 or EM64T)
1291
+
1208
1292
 
1209
- #===============================================================================
1293
+ # ===============================================================================
1210
1294
  # BOOL WINAPI StackWalk64(
1211
1295
  # __in DWORD MachineType,
1212
1296
  # __in HANDLE hProcess,
@@ -1218,18 +1302,30 @@ IMAGE_FILE_MACHINE_AMD64 = 0x8664 #x64 (AMD64 or EM64T)
1218
1302
  # __in_opt PGET_MODULE_BASE_ROUTINE64 GetModuleBaseRoutine,
1219
1303
  # __in_opt PTRANSLATE_ADDRESS_ROUTINE64 TranslateAddress
1220
1304
  # );
1221
- #===============================================================================
1222
- def StackWalk64(MachineType, hProcess, hThread, StackFrame,
1223
- ContextRecord = None, ReadMemoryRoutine = None,
1224
- FunctionTableAccessRoutine = None, GetModuleBaseRoutine = None,
1225
- TranslateAddress = None):
1226
-
1305
+ # ===============================================================================
1306
+ def StackWalk64(
1307
+ MachineType,
1308
+ hProcess,
1309
+ hThread,
1310
+ StackFrame,
1311
+ ContextRecord=None,
1312
+ ReadMemoryRoutine=None,
1313
+ FunctionTableAccessRoutine=None,
1314
+ GetModuleBaseRoutine=None,
1315
+ TranslateAddress=None,
1316
+ ):
1227
1317
  _StackWalk64 = windll.dbghelp.StackWalk64
1228
- _StackWalk64.argtypes = [DWORD, HANDLE, HANDLE, LPSTACKFRAME64, PVOID,
1229
- PREAD_PROCESS_MEMORY_ROUTINE64,
1230
- PFUNCTION_TABLE_ACCESS_ROUTINE64,
1231
- PGET_MODULE_BASE_ROUTINE64,
1232
- PTRANSLATE_ADDRESS_ROUTINE64]
1318
+ _StackWalk64.argtypes = [
1319
+ DWORD,
1320
+ HANDLE,
1321
+ HANDLE,
1322
+ LPSTACKFRAME64,
1323
+ PVOID,
1324
+ PREAD_PROCESS_MEMORY_ROUTINE64,
1325
+ PFUNCTION_TABLE_ACCESS_ROUTINE64,
1326
+ PGET_MODULE_BASE_ROUTINE64,
1327
+ PTRANSLATE_ADDRESS_ROUTINE64,
1328
+ ]
1233
1329
  _StackWalk64.restype = bool
1234
1330
 
1235
1331
  pReadMemoryRoutine = None
@@ -1252,7 +1348,7 @@ def StackWalk64(MachineType, hProcess, hThread, StackFrame,
1252
1348
 
1253
1349
  pTranslateAddress = None
1254
1350
  if TranslateAddress:
1255
- pTranslateAddress = PTRANSLATE_ADDRESS_ROUTINE64(TranslateAddress)
1351
+ pTranslateAddress = PTRANSLATE_ADDRESS_ROUTINE64(TranslateAddress)
1256
1352
  else:
1257
1353
  pTranslateAddress = ctypes.cast(None, PTRANSLATE_ADDRESS_ROUTINE64)
1258
1354
 
@@ -1261,17 +1357,25 @@ def StackWalk64(MachineType, hProcess, hThread, StackFrame,
1261
1357
  ContextRecord = GetThreadContext(hThread, raw=True)
1262
1358
  pContextRecord = PCONTEXT(ContextRecord)
1263
1359
 
1264
- #this function *DOESN'T* set last error [GetLastError()] properly most of the time.
1265
- ret = _StackWalk64(MachineType, hProcess, hThread, byref(StackFrame),
1266
- pContextRecord, pReadMemoryRoutine,
1267
- pFunctionTableAccessRoutine, pGetModuleBaseRoutine,
1268
- pTranslateAddress)
1360
+ # this function *DOESN'T* set last error [GetLastError()] properly most of the time.
1361
+ ret = _StackWalk64(
1362
+ MachineType,
1363
+ hProcess,
1364
+ hThread,
1365
+ byref(StackFrame),
1366
+ pContextRecord,
1367
+ pReadMemoryRoutine,
1368
+ pFunctionTableAccessRoutine,
1369
+ pGetModuleBaseRoutine,
1370
+ pTranslateAddress,
1371
+ )
1269
1372
 
1270
1373
  return ret
1271
1374
 
1272
- #==============================================================================
1375
+
1376
+ # ==============================================================================
1273
1377
  # This calculates the list of exported symbols.
1274
1378
  _all = set(vars().keys()).difference(_all)
1275
- __all__ = [_x for _x in _all if not _x.startswith('_')]
1379
+ __all__ = [_x for _x in _all if not _x.startswith("_")]
1276
1380
  __all__.sort()
1277
- #==============================================================================
1381
+ # ==============================================================================