Correctly import Python variable info functions in debug sessions for viewing in data viewer across 2+ scopes #5625
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
For #5627
Our variable info import scripts are only evaluated once per debug session and in the topmost frame ID, so the scripts were subsequently inaccessible from other frames in the same debug session, hence the NameError in the issue description. I think this means that viewing variables in >1 scope in the data viewer in a single debug session hasn't ever worked.
The fix is to use
__import__()
to import the module and reference our function off it each time. This guarantees we'll have access to the module functions without relying on first sending a custom eval request that imports our function globally, since there isn't actually a way to do that given how Python modules work.Tested scenarios:
package-lock.json
has been regenerated by runningnpm install
(if dependencies have changed).