PY-82449 Debug mode not working after last update

Merge-request: IJ-MR-168365
Merged-by: Egor Eliseev <Egor.Eliseev@jetbrains.com>

GitOrigin-RevId: f8e9c186d891edd5b31ad6cd7e9059b8ba57bc78
This commit is contained in:
Egor Eliseev
2025-07-07 19:00:06 +00:00
committed by intellij-monorepo-bot
parent 8589196f14
commit ec570f0352
48 changed files with 5761 additions and 4720 deletions

View File

@@ -7,7 +7,7 @@ from _pydev_bundle import pydev_log
from _pydevd_bundle.pydevd_frame import PyDBFrame
# ENDIF
version = 55
version = 58
if not hasattr(sys, '_current_frames'):

File diff suppressed because it is too large Load Diff

View File

@@ -13,7 +13,7 @@ pydev_log.debug("Using Cython speedups")
# from _pydevd_bundle.pydevd_frame import PyDBFrame
# ENDIF
version = 55
version = 58
if not hasattr(sys, '_current_frames'):
@@ -663,7 +663,7 @@ cdef class PyDBFrame:
line = frame.f_lineno
line_cache_key = (frame_cache_key, line)
if main_debugger._finish_debugging_session:
if main_debugger.pydb_disposed:
if event != 'call': frame.f_trace = NO_FTRACE
return None
@@ -1133,7 +1133,6 @@ from _pydev_bundle.pydev_is_thread_alive import is_thread_alive
from _pydev_imps._pydev_saved_modules import threading
from _pydevd_bundle.pydevd_constants import get_current_thread_id, IS_IRONPYTHON, NO_FTRACE, IS_WINDOWS
from _pydevd_bundle.pydevd_dont_trace_files import DONT_TRACE
from _pydevd_bundle.pydevd_kill_all_pydevd_threads import kill_all_pydev_threads
from pydevd_file_utils import get_abs_path_real_path_and_base_from_frame, NORM_PATHS_AND_BASE_CONTAINER
from pydevd_tracing import SetTrace
# IFDEF CYTHON -- DONT EDIT THIS FILE (it is automatically generated)
@@ -1519,14 +1518,8 @@ cdef class ThreadTracer:
is_stepping = pydev_step_cmd != -1
try:
if py_db._finish_debugging_session:
if py_db.pydb_disposed:
if not py_db._termination_event_set:
# that was not working very well because jython gave some socket errors
try:
if py_db.output_checker_thread is None:
kill_all_pydev_threads()
except:
traceback.print_exc()
py_db._termination_event_set = True
if event != 'call': frame.f_trace = NO_FTRACE
return None
@@ -1611,7 +1604,7 @@ cdef class ThreadTracer:
return None
except Exception:
if py_db._finish_debugging_session:
if py_db.pydb_disposed:
if event != 'call': frame.f_trace = NO_FTRACE
return None # Don't log errors when we're shutting down.
# Log it

View File

@@ -238,6 +238,9 @@ def _should_enable_line_events_for_code(frame, code, filename, info, will_be_sto
plugin_manager = py_db.plugin
if info is None:
return False
stop_frame = info.pydev_step_stop
step_cmd = info.pydev_step_cmd
@@ -313,6 +316,9 @@ def _should_enable_line_events_for_code(frame, code, filename, info, will_be_sto
def _clear_run_state(info):
if info is None:
return
info.pydev_step_stop = None
info.pydev_step_cmd = -1
info.pydev_state = STATE_RUN
@@ -349,6 +355,9 @@ def _get_top_level_frame():
def _stop_on_unhandled_exception(exc_info, py_db, thread):
additional_info = _get_additional_info(thread)
if additional_info is None:
return
if not additional_info.suspended_at_unhandled:
additional_info.suspended_at_unhandled = True
stop_on_unhandled_exception(py_db, thread, additional_info,

View File

@@ -244,6 +244,9 @@ def _should_enable_line_events_for_code(frame, code, filename, info, will_be_sto
plugin_manager = py_db.plugin
if info is None:
return False
stop_frame = info.pydev_step_stop
step_cmd = info.pydev_step_cmd
@@ -319,6 +322,9 @@ def _should_enable_line_events_for_code(frame, code, filename, info, will_be_sto
def _clear_run_state(info):
if info is None:
return
info.pydev_step_stop = None
info.pydev_step_cmd = -1
info.pydev_state = STATE_RUN
@@ -355,6 +361,9 @@ def _get_top_level_frame():
def _stop_on_unhandled_exception(exc_info, py_db, thread):
additional_info = _get_additional_info(thread)
if additional_info is None:
return
if not additional_info.suspended_at_unhandled:
additional_info.suspended_at_unhandled = True
stop_on_unhandled_exception(py_db, thread, additional_info,