Skip to content

Unexpected configuration merging behavior for justMyCode debugging option #749

@tboddyspargo

Description

@tboddyspargo

In #139, many people have reported being unable to use justMyCode as expected. While there is a workaround in the linked comment, I believe it ultimately stems from the global debugpy.debugJustMyCode overwriting the launch configuration option, which I think is unexpected.

I had always been relying on the launch-configuration-level setting of justMyCode being set to false to be sufficient. Is the extension perhaps not merging the different levels of configs as expected and leading to the default debugpy.debugJustMyCode to trump the launch-configuration-level justMyCode when specified in .code-workspace files?

Originally posted by @tboddyspargo in #139

I wanted to repost this here in an effort to specifically focus on the question of configuration merging behavior.

I expect the repro to be something like:

  1. Specify a python special purpose file or test debug configuration (with "justMyCode": false) in the launch configuration of a .code-workspace file.
  2. Open that workspace and debug a python script using that launch configuration.
  3. Try to step into library code using the debugger
  4. Based on my previous experience and the other reports in Debugger: setting "justMyCode": false does not work in a Python 3.10 venv #139, I expect this to not go into library code during the "subsequent" debug sessions (frame skipped message?)

However I also think that, even without repro-ing, it may be reasonable to re-examine the config merging behavior of debugpy.debugJustMyCode with workspace-level launch configuration settings to definitively debug the root cause hypothesis here or confirm it.

Metadata

Metadata

Labels

triage-neededNeeds assignment to the proper sub-team

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions