Skip to content

Conversation

@thaystg
Copy link
Member

@thaystg thaystg commented Sep 13, 2022

It's not possible to add a test case because it is a concurrency issue, let me try to explain:

  • You apply a change using hot reload;
  • The metadata and pdb is already updated on runtime side but not on debugger side;
  • We receive a setBreakpoint command from VS, then we find the IL and try to set the breakpoint on runtime side.
  • The IL offset doesn't exist on runtime side, it returns an error on set breakpoint and it was throwing an exception.

The fix was to remove the exception throw and check the return of the set breakpoint function.

Fixes #75492

@thaystg thaystg requested a review from lewing September 13, 2022 20:49
@thaystg thaystg requested a review from radical as a code owner September 13, 2022 20:49
@ghost ghost added the area-Debugger-mono label Sep 13, 2022
@ghost ghost assigned thaystg Sep 13, 2022
@ghost
Copy link

ghost commented Sep 13, 2022

Tagging subscribers to this area: @thaystg
See info in area-owners.md if you want to be subscribed.

Issue Details

It's not possible to add a test case because it is a concurrency issue, let me try to explain:

  • You apply a change using hot reload;
  • The metadata and pdb is already updated on runtime side but not on debugger side;
  • We receive a setBreakpoint command from VS, then we find the IL and try to set the breakpoint on runtime side.
  • The IL offset doesn't exist on runtime side, it returns an error on set breakpoint and it was throwing an exception.

The fix was to remove the exception throw and check the return of the set breakpoint function.

Fixes #75492

Author: thaystg
Assignees: -
Labels:

area-Debugger-mono

Milestone: -

@radical radical added the arch-wasm WebAssembly architecture label Sep 13, 2022
@ghost
Copy link

ghost commented Sep 13, 2022

Tagging subscribers to 'arch-wasm': @lewing
See info in area-owners.md if you want to be subscribed.

Issue Details

It's not possible to add a test case because it is a concurrency issue, let me try to explain:

  • You apply a change using hot reload;
  • The metadata and pdb is already updated on runtime side but not on debugger side;
  • We receive a setBreakpoint command from VS, then we find the IL and try to set the breakpoint on runtime side.
  • The IL offset doesn't exist on runtime side, it returns an error on set breakpoint and it was throwing an exception.

The fix was to remove the exception throw and check the return of the set breakpoint function.

Fixes #75492

Author: thaystg
Assignees: thaystg
Labels:

arch-wasm, area-Debugger-mono

Milestone: -

@thaystg
Copy link
Member Author

thaystg commented Sep 13, 2022

/backport to release/7.0

@github-actions
Copy link
Contributor

Started backporting to release/7.0: https://github.com/dotnet/runtime/actions/runs/3048571879

@lewing lewing merged commit 63dbc82 into dotnet:main Sep 14, 2022
@ghost ghost locked as resolved and limited conversation to collaborators Oct 14, 2022
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.

Labels

arch-wasm WebAssembly architecture area-Debugger-mono

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Hot reloading a change in Blazor WebAssembly app after hitting a breakpoint causes browser to crash

3 participants