Debugger ignores module filter for modules with embedded symbols
See original GitHub issueEnvironment data
dotnet --info
output: 5.0.200-preview.20601.7
VS Code version: 1.52.1
C# Extension version: ms-dotnettools.csharp-1.23.8
.omnisharp 1.37.6-beta.16
Steps to reproduce
- settings.json:
{
"csharp.unitTestDebuggingOptions": {
"allowFastEvaluate": true,
"enableStepFiltering": true,
"logging": {
"programOutput": true,
"elapsedTiming": true,
"engineLogging": false,
"exceptions": true,
"moduleLoad": false,
"threadExit": false,
"browserStdOut": false,
"processExit": true
},
"requireExactSource": true,
"suppressJITOptimizations": true,
"justMyCode": true,
"symbolOptions": {
"searchPaths": [],
"searchMicrosoftSymbolServer": false,
"searchNuGetOrgSymbolServer": false,
"moduleFilter": {
"mode": "loadOnlyIncluded",
"includeSymbolsNextToModules": false,
"includedModules": [
"MyUnitTests.dll",
]
}
}
}
}
- Enable
All exceptions
- Debug a test.
- Debugger breaks on non-user code.
Expected behavior
Breakpoint settings should use symbolOptions or justMyCode setting. Or maybe we can have a different checkboxes for this.
Actual behavior
Symbols of xunit.runner.visualstudio.dotnetcore.testadapter.dll
and xunit.runner.utility.netcoreapp10.dll
are loaded and we see a breakpoint on exception inside the xunit code. I can’t disable All Exceptions
because if an exception is thrown in a test, we don’t interrupt it with the User-Unhandled Exceptions
setting.
Issue Analytics
- State:
- Created 3 years ago
- Comments:6 (4 by maintainers)
Top Results From Across the Web
Symbol / PDB files in the Visual Studio debugger
Work with symbols in the Modules window During debugging, the Modules window shows the code modules the debugger is treating as user code,...
Read more >Debugging a Loadable Kernel Module - 2021.1 English - Xilinx
To debug a kernel module, set path mapping to map the module name to symbol file of the module. To see loaded modules,...
Read more >Debug Information Not Available - Intel
When debug information is not available, the ability to use binary-to-source correlation prevents the display of source code. One or more of the...
Read more >3. Using GHCi — Glasgow Haskell Compiler 9.4.4 User's Guide
When the * is used, GHCi ignores any pre-compiled object code and interprets the module. If you have already loaded a number of...
Read more >Common WinDbg Commands (Thematically Grouped)
Load symbols for Module Load symbols for all modules !sym !sym !sym noisy !sym quiet. Get state of symbol loading. Set noisy symbol...
Read more >Top Related Medium Post
No results found
Top Related StackOverflow Question
No results found
Troubleshoot Live Code
Lightrun enables developers to add logs, metrics and snapshots to live code - no restarts or redeploys required.
Start FreeTop Related Reddit Thread
No results found
Top Related Hackernoon Post
No results found
Top Related Tweet
No results found
Top Related Dev.to Post
No results found
Top Related Hashnode Post
No results found
Top GitHub Comments
I should add: I generally recommend to NOT enable it. There are a few scenarios where it makes sense, but especially if you have JMC on, it can result in confusing behavior (and this bug is a perfect example of that) and/or poor performance.
That option defaults to off in both Visual Studio and VS Code.