I assume you mean the visual debugger for Jupyter, a.k.a Debugger front-end?
Keep in mind:
“A key principle to the Jupyter design is the agnosticism to the programming language . It is important for the Jupyter debug protocol to be adaptable to other kernel implementations.” - SOURCE: blog post ’ A visual debugger for Jupyter’
The title of your post doesn’t seem in line with that concept?
Assuming you did mean the visual debugger/Debugger front-end, I can answer some of the straightforward questions you pose below. Maybe after investigating more you can refine what you seek to get perspective about that isn’t already covered in the documentation, associated blog posts, YouTube videos, StackOverflow posts, or discussion in the development repo(s).
The documentation covers this here in the ‘Debugger’ section:
“For the debugger to be enabled and visible, a kernel with support for debugging is required.”
It goes on to list the kernels it works with and asks readers to help adding more they know about. It points to resources for adding support for it to more kernels there as well.
It became a core component of JupyterLab and not an extension in the summer of 2020, see here for more details.
The first public release is discussed in a blog post in March 2020.
The blog post about the ipykernel supporting it can be found in this May 2021 blog post entitled ‘Enabling the JupyterLab debugger with ipykernel’.
There’s an exchange on StackOverflow here and here from around the time of that blog post that may provide you with more perspective.
Also from around that time is a group of links about adding support for using keyboard shortcuts to step through debugging, see here.
You can work back through the history found at the now-archived original jupyterlab/debugger GitHub repo if you need more details on it before that.
You can get a sense of a lot of the active development around it by searching for open issues pertaining to the term ‘debugger’ in the GitHub repo, which you can also do by simply clicking here.