-
Notifications
You must be signed in to change notification settings - Fork 119
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
Allow display of local variables in frames multiple levels deep. #345
Allow display of local variables in frames multiple levels deep. #345
Conversation
4c95251
to
ff40395
Compare
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Looks good to me in general. Things I'm not sure about:
- Shouldn't there be more than the "Local" scope?
- Is it possible to use the scope from the DAP here instead of an own class?
See #242 for how to acquire variables for the Register scope, which would be a possible follow-up to this change. |
The current implementation only supports the "Local" scope. Additional scopes could be added, but this PR is to address a bug in the current implementation. I'd rather keep bug fixes and new functionality separate, from a semantic versioning perspective, as bug fixes can go into patch releases (e.g., 0.26.1), but new functionality should go into a minor release (e.g., 0.27.0). It seems there are other open issues (e.g., #214) to capture adding an additional scope.
I assume you are referring to the addition of the So, to answer your question, the DAP |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I like the change, can you check out my two comments?
Remove the arbitrary separation between the variable references used to represent scopes and those used to represent variable objects. This implementation uses a common pool of handles to support both variable object references as well as scope references, thus eliminating the previous bounded numerical range used for scopes, which was not large enough to represent stack frames multiple levels deep, due to thread and level information being encoded in the scope variable reference value.
ff40395
to
6baa66b
Compare
Of course new minor versions can/should also include bug fixes ;-) I think for 0.26.1 #346 and possibly #332 are the open points, before going on to bigger changes. @brownts I guess you don't want to include #330 soon, do you? |
@GitMensch it's just a point on the TODO list, I haven't really touched code-debug code in a while |
In reference to #347, I do have a unit test github action that I created locally to run the existing unit tests for my own testing, but hadn't pushed it yet. I can create a PR for that soon. I haven't done anything towards an integration test though. |
Sounds good! Please do so and let's discuss automated testing in that PR or the referenced issue. |
Also, to follow-up on your other question, I haven't done much on #330 yet, so it's not ready to go into a near-term release. |
@brownts: was the unit testing part already pushed with the sourceFileMap changes today or are there more? In any case: can you please PR the unit testing GH action you already have? |
Fixes #342.
Remove the arbitrary separation between the variable references used
to represent scopes and those used to represent variable objects.
This implementation uses a common pool of handles to support both
variable object references as well as scope references, thus
eliminating the previous bounded numerical range used for scopes,
which was not large enough to represent stack frames multiple levels
deep, due to thread and level information being encoded in the scope
variable reference value.