-
-
Notifications
You must be signed in to change notification settings - Fork 645
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
Implement some notion of debugging session #1054
Comments
The best way I can think of doing this is to have the instrumented wrap the body of (binding [*debug-session* (randomUUID)]
~@body) or maybe this (binding [*debug-session* (atom {:uuid (randomUUID)})]
~@body) This way, if one instrumented function calls another instrumented
I'm reporting the above mostly as a reminder to my future self. These advantages are not huge in my view, so it's kinda low priority atm. |
Would this also be needed for implementing a debugging repl? I'd love to have an ability to open a repl for the current debugging context. Often times I have an idea about what's wrong and I want to try out something, and while I can hit Having a new repl (or a possibility of somehow binding the debugging context in a new repl session) would be amazing. |
This one should be (almost) fixed with clojure-emacs/cider-nrepl#405. Each breakpoint now has access to As to having
Opening #2005 for this. |
Is this resolved through something like |
Right now, the debugger on the nrepl side consists only of a series of breakpoints. That is, when a breakpoint is reached, it notifies cider and waits for a response.
This means cider has no idea of how the breakpoints relate to each other. Are they part of the same function call? Are there more breakpoints up ahead? Cider has no way of knowing, and so it can't decide to leave some overlays hanging around, and it's harder to implement more sophisticated navigation commands.
It would be useful to have this information available. And it should be possible by wrapping function bodies in a new kind of form, like debugging-session or something.
The text was updated successfully, but these errors were encountered: