Back to Dotnet

WebAssembly Debugger

docs/design/mono/debugger.md

11.0.1001.5 KB
Original Source

WebAssembly Debugger

Overview

The details of launching a Debugger session for a Blazor WebAssembly application is described here.

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

  • System.Diagnostics.DebuggerBrowsable (doc)

    • Collapsed - displayed normally.

    • RootHidden:

      • Simple type - not displayed in the debugger window.
      • Collection / Array - the values of a collection are displayed in a flat view, using the naming convention: rootName[idx].
    • Never - not displayed in the debugger window.