Skip to content

Conversation

@arjxn-py
Copy link
Contributor

@arjxn-py arjxn-py commented Dec 1, 2025

This PR introduces a kernel-side mechanism to filter internal kernel module frames from the debugger callstack.
These frames currently appear when stepping (e.g. pressing “Next”), causing the debugger to stop deep inside IPython internals and creating long, noisy callstacks.

This PR also flips debug_just_my_code to False by default to allow users to debug external sources when needed, and introduces a kernel-side filtering layer that hides internal kernel frames unless explicitly disabled.

Without filtering:

Screen.Recording.2025-12-01.at.15.36.11.mp4

With filtering enabled:

Screen.Recording.2025-12-01.at.15.39.03.mp4

Copy link
Contributor

@JohanMabille JohanMabille left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Can you check if it is possible to remove this filtering now?

@arjxn-py
Copy link
Contributor Author

arjxn-py commented Dec 1, 2025

Can you check if it is possible to remove this filtering now?

Thanks for the pointer, I removed the filtering in dc865b8. I have tested it and it works the same after removing this filtering.

Copy link
Contributor

@JohanMabille JohanMabille left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM when the linter is fixed.

@arjxn-py
Copy link
Contributor Author

arjxn-py commented Dec 1, 2025

The CI is happy now. Thanks @JohanMabille :D

@JohanMabille
Copy link
Contributor

Awesome, thanks!

@JohanMabille JohanMabille merged commit 327589f into ipython:main Dec 1, 2025
44 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants