Sat, 25 Feb 2017 21:17:56 +0100
When in unhandled exception, current frame lies in debugger files always. In breakpoints,
you won't see the correct frame in this case.
DebugClients/Python/ThreadExtension.py | file | annotate | diff | comparison | revisions | |
changelog | file | annotate | diff | comparison | revisions |
--- a/DebugClients/Python/ThreadExtension.py Sat Feb 25 21:11:54 2017 +0100 +++ b/DebugClients/Python/ThreadExtension.py Sat Feb 25 21:17:56 2017 +0100 @@ -232,7 +232,10 @@ # adjust current frame if "__pypy__" not in sys.builtin_module_names: - self.threads[id].currentFrame = self.getExecutedFrame(frame) + # Don't update with None + currentFrame = self.getExecutedFrame(frame) + if currentFrame is not None: + self.threads[id].currentFrame = currentFrame # Clean up obsolet because terminated threads self.threads = {id_: thrd for id_, thrd in self.threads.items()
--- a/changelog Sat Feb 25 21:11:54 2017 +0100 +++ b/changelog Sat Feb 25 21:17:56 2017 +0100 @@ -9,6 +9,7 @@ -- catch unhandled exceptions again -- support for PySide2 added -- atexit handling works as specified in any condition + -- prevent ordinary breakpoints to steal the focus from an exception - Mercurial Interface -- improved the log browser in several ways -- improved the status dialog