EnC: Fix document out-of-sync checks when module is not loaded when d…#39836
Merged
tmat merged 5 commits intodotnet:release/dev16.4-vs-depsfrom Nov 18, 2019
Merged
EnC: Fix document out-of-sync checks when module is not loaded when d…#39836tmat merged 5 commits intodotnet:release/dev16.4-vs-depsfrom
tmat merged 5 commits intodotnet:release/dev16.4-vs-depsfrom
Conversation
…ebugging session starts Previous change dotnet#39295 allowed us to rely on PDB source file checksums when distinguishing between design-time-only documents that should be ignored when applying changes and documents whose changes must be applied to the debuggee. The change did not handle the case when the PDB isn't loaded yet when this check is being performed. This bug resulted in changes not being applied correctly and documents getting out-of-sync in scenarios where the modules were not loaded to the debuggee fast enough. Fixes https://devdiv.visualstudio.com/DevDiv/_workitems/edit/1013242
Member
Author
ivanbasov
reviewed
Nov 15, 2019
src/Features/Core/Portable/EditAndContinue/CommittedSolution.cs
Outdated
Show resolved
Hide resolved
Member
Author
|
Although this change fixes the linked bug, there are some more cases I'm working thru... |
ivanbasov
reviewed
Nov 16, 2019
src/Features/Core/Portable/Debugging/DebugInformationReaderProvider.cs
Outdated
Show resolved
Hide resolved
ivanbasov
reviewed
Nov 16, 2019
src/Features/Core/Portable/EditAndContinue/CommittedSolution.cs
Outdated
Show resolved
Hide resolved
ivanbasov
reviewed
Nov 16, 2019
jasonmalinowski
approved these changes
Nov 18, 2019
Member
jasonmalinowski
left a comment
There was a problem hiding this comment.
I'll fully admit I don't understand some of the debugger stuff but I can definitely sign off on the well-written comments!
|
|
||
| Assert.True(reader.TryGetDocumentChecksum("/a/c.cs", out var actualChecksum, out var actualAlgorithm)); | ||
| Assert.Equal("21-C8-B2-D7-A3-6B-49-C7-57-DF-67-B8-1F-75-DF-6A-64-FD-59-22", BitConverter.ToString(actualChecksum.ToArray())); | ||
| Assert.Equal(new Guid("ff1816ec-aa5e-4d10-87f7-6f4963833460"), actualAlgorithm); |
Member
There was a problem hiding this comment.
Is there a constant for that?
| /// <summary> | ||
| /// The current document content matches the content the built module was compiled with. | ||
| /// The document content is matched with the build output instead of the loaded module | ||
| /// since the module hasn't been loaded yet. |
Member
There was a problem hiding this comment.
Suggested change
| /// since the module hasn't been loaded yet. | |
| // since the module hasn't been loaded yet. |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
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.
…ebugging session starts
Previous change #39295 allowed us to rely on PDB source file checksums when distinguishing between design-time-only documents that should be ignored when applying changes and documents whose changes must be applied to the debuggee. The change did not handle the case when the PDB isn't loaded yet when this check is being performed. This bug resulted in changes not being applied correctly and documents getting out-of-sync in scenarios where the modules were not loaded to the debuggee fast enough.
Fixes https://devdiv.visualstudio.com/DevDiv/_workitems/edit/1013242