diff --git a/docs/design/mono/debugger.md b/docs/design/mono/debugger.md new file mode 100644 index 00000000000000..3a3a2936b79eb4 --- /dev/null +++ b/docs/design/mono/debugger.md @@ -0,0 +1,21 @@ +# WebAssembly Debugger + +## Overview + +The details of launching a Debugger session for a Blazor WebAssembly application is described [here](https://docs.microsoft.com/en-us/aspnet/core/blazor/debug?view=aspnetcore-6.0&tabs=visual-studio). + +## Debugger Attributes +Web Assembly Debugger supports usage of following attributes: +- __System.Diagnostics.DebuggerHidden__ + + Decorating a method - results: + - Visual Studio Breakpoints: results in disabling all existing breakpoints in the method and no possibility to set new,enabled ones. + - Stepping In/Over: results in stepping over the line with method call. + - Call stack: method does not appear on the call stack, no access to method local variables is provided. + + Decorating a method with a Debugger.Break() call inside: + - Running in the Debug mode: results in pausing the program on the line with the method call. + - Stepping In/Over: results in an additional stepping need to proceed to the next line.

+- __System.Diagnostics.DebuggerDisplay__ +- __System.Diagnostics.DebuggerTypeProxy__ +- ... \ No newline at end of file