Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Added option to hide importlib frames in stack #246

Open
wants to merge 4 commits into
base: main
Choose a base branch
from
Open
Changes from 1 commit
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Prev Previous commit
Better code readability
wronglink committed Apr 13, 2017
commit 87465f8ad49f33a2dc02de27744e6369d4201b2f
36 changes: 19 additions & 17 deletions pudb/debugger.py
Original file line number Diff line number Diff line change
@@ -229,23 +229,25 @@ def set_trace(self, frame=None, as_breakpoint=None, paused=True):
self.botframe.f_trace = self.trace_dispatch

stack, _ = self.get_stack(frame, None)
if stack:
thisframe, _ = stack[-1]
thisframe_info = (
self.canonic(thisframe.f_code.co_filename), thisframe.f_lineno)

if thisframe_info not in self.set_traces or self.set_traces[thisframe_info]:
if as_breakpoint:
self.set_traces[thisframe_info] = True
if self.ui.source_code_provider is not None:
self.ui.set_source_code_provider(
self.ui.source_code_provider, force_update=True)

if paused:
self.set_next(thisframe)
else:
self.set_continue()
sys.settrace(self.trace_dispatch)
if not stack:
return

thisframe, _ = stack[-1]
thisframe_info = (
self.canonic(thisframe.f_code.co_filename), thisframe.f_lineno)

if thisframe_info not in self.set_traces or self.set_traces[thisframe_info]:
if as_breakpoint:
self.set_traces[thisframe_info] = True
if self.ui.source_code_provider is not None:
self.ui.set_source_code_provider(
self.ui.source_code_provider, force_update=True)

if paused:
self.set_next(thisframe)
else:
self.set_continue()
sys.settrace(self.trace_dispatch)

def save_breakpoints(self):
from pudb.settings import save_breakpoints