Skip to content
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

[wasm][debugger] Stepping into hidden function. #61312

Merged
merged 14 commits into from
Nov 26, 2021

Conversation

ilonatommy
Copy link
Member

@ilonatommy ilonatommy commented Nov 8, 2021

How it works in Console App:

  • Setting enabled breakpoints in the decorated method in VS is blocked. (DONE in Wasm)
  • Stepping into the decorated method is blocked, instead debugger steps over. (DONE in Wasm)
  • Using Debugger.Break() in the function result in pausing on the call of the function, no stepping in, not appearing on the call stack, no access to local variables. After resuming, the debugger steps over. (DONE in Wasm)
  • Using Debugger.Break() in the function while we are stepping into results in 3 steps (in or over) on the method call. (A difference: in Blazor App it results in 2 steps on the method call).

@ilonatommy ilonatommy added arch-wasm WebAssembly architecture area-Debugger-mono labels Nov 8, 2021
@ilonatommy ilonatommy self-assigned this Nov 8, 2021
@ghost
Copy link

ghost commented Nov 8, 2021

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

Issue Details

null

Author: ilonatommy
Assignees: ilonatommy
Labels:

arch-wasm, area-Debugger-mono

Milestone: -

@ilonatommy ilonatommy requested review from thaystg and removed request for marek-safar November 8, 2021 14:16
@radical
Copy link
Member

radical commented Nov 22, 2021

Would you mind describing the behavior of a hidden method in a debugger? For example, can you set breakpoints in it? Can you step into it from a visible method that you were already paused at?

In the debugger.break in the hidden method case, does it not show the callstack at all? As you are already in that method, can you step through the code? or step out? Can you access locals, evaluate expressions etc?

If you are paused on a visible method, but were called from a hidden method, then does that method not show up in the callstack? If it does, then can you inspect its locals?

Feel free to point me to a doc, if any, on this.

@ilonatommy
Copy link
Member Author

@radical that's a good question. For now I added a short description to this PR but I will also prepare it in a form of doc.

@ilonatommy
Copy link
Member Author

@radical I prepared a document for all kind of debugger documentation and started with a draft of Hidden Attribute expected behavior #62015.

@ilonatommy ilonatommy requested a review from thaystg November 25, 2021 08:57
@thaystg thaystg changed the title [wasm][debugger] Add test for ignoring stepping into hidden function. [wasm][debugger] Stepping into hidden function. Nov 25, 2021
@ilonatommy ilonatommy merged commit 49c5643 into dotnet:main Nov 26, 2021
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.

3 participants