-
Notifications
You must be signed in to change notification settings - Fork 752
Remove PDB generation for .NET Core assemblies using CrossGen #2202
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
Conversation
…r .NET Core assemblies Co-authored-by: brianrob <6210322+brianrob@users.noreply.github.com>
src/PerfView/App.cs
Outdated
| /// </summary> | ||
| public static SymbolReader GetSymbolReader(string etlFilePath = null, SymbolReaderOptions symbolFlags = SymbolReaderOptions.None) | ||
| { | ||
| // Apply the DisableNGenPdbGeneration option if it's set in the command line |
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.
Looking a bit further at the code, there is already a /NoNGenPdbs flag that disables NGEN PDB generation. Please undo this entire change.
Instead, please change this PR to remove .NET Core PDB generation that uses crossgen. This is implemented in SymbolReader.cs. The call to HandleNetCorePdbs is what does this. The entire function should be removed. You can also remove GetCrossGenExePath.
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've updated the PR to remove the CrossGen PDB generation code as requested. I've removed the HandleNetCorePdbs and GetCrossGenExePath methods from SymbolReader.cs and updated the fallback handling when a CLR directory is not found. I've also reverted the DisableNGenPdbGeneration flag changes since the existing /NoNGenPdbs flag already handles this functionality. Changes are in commit 9d0f742.
Co-authored-by: brianrob <6210322+brianrob@users.noreply.github.com>
Removes PDB creation via usage of the crossgen.exe tool. For .NET Core PDBs are created on package publish, and most machines won't have crossgen or crossgen2 available.