dotnet / runtime

.NET is a cross-platform runtime for cloud, mobile, desktop, and IoT apps.
https://docs.microsoft.com/dotnet/core/
MIT License
15.12k stars 4.7k forks source link

VS2022 Blazor debugging with F10/F11 goes into JS minimised code and not my code #64474

Closed vsfeedback closed 2 years ago

vsfeedback commented 2 years ago

This issue has been moved from a ticket on Developer Community.


[severity:It's more difficult to complete my work] I'm calling a method and I want to step into that method with F10/F11 to continue debugging. However, I step into a big mess of JS Blazor minimised code. Not my thing.

See the recorded screen.


Original Comments

Feedback Bot on 10/28/2021, 11:38 PM:

We have directed your feedback to the appropriate engineering team for further evaluation. The team will review the feedback and notify you about the next steps.

Thays Tagliaferri de Grazia [MSFT] on 11/3/2021, 05:40 AM:

I need help to reproduce it, I created a simple async function and could step into without any issue, could you please tell me if you only have this behavior when trying to step into this specific function GetUsers? If you remove everything that is in your watch window do you still have this behavior? Could you share the code of this GetUsers function?

Thanks a lot.

Roberto Mencia Franco on 11/3/2021, 03:52 PM:

Sorry I can’t really replicate in a brand new solution, but I can replicate it in my solution consistently as shown in the recording.

You probably need to investigate internally in the source code to see the paths that could lead to the problem, as it happens all the time in my solution with F11.

Roberto Mencia Franco on 11/7/2021, 09:42 PM:

I’ve bee getting this behaviour even with F10. It seems to stop in framework JS code when there are breakpoints in the lines of the code surrounding the area being debugged.

Thays Tagliaferri de Grazia [MSFT] on 11/8/2021, 04:19 AM:

Could you please tell me the version of this package that is being used on Client and on Server project?

<PackageReference Include=“Microsoft.AspNetCore.Components.WebAssembly.DevServer” Version=“VERSION” PrivateAssets=“all” />

Roberto Mencia Franco on 11/8/2021, 02:11 PM:

The client:
<PackageReference Include=“Microsoft.AspNetCore.Components.WebAssembly.DevServer” Version=“6.0.0-rc.2.21480.10” PrivateAssets=“all” />

The server:
<PackageReference Include=“Microsoft.AspNetCore.Components.WebAssembly.Server” Version=“6.0.0-rc.2.21480.10” />

Roberto Mencia Franco on 12/1/2021, 02:30 PM:

I have not heard from this issue. Debugging Blazor is a pain.
I keep getting into JS code all the time, with F10 and F11. I can’t even debug a session.

I’m currently using the VS2022 17.1 pre1 and still happening.

image.png

Thays Tagliaferri de Grazia [MSFT] on 12/6/2021, 08:15 AM:

We are still trying to reproduce it. Do you have any class library being used using debug type = full? Do you have anything that you can share with me about your project to help me to reproduce?

Roberto Mencia Franco on 12/6/2021, 02:30 PM:

I don’t know how to consistently reproduce it, but it happens in pretty much every single debug session. And by far from all the large number of bugs that VS/Blazor has, this one is on the top for slowing down development.

Most of the times I work in code inside the “protected override async Task OnInitializedAsync()” of the pages.

I would probably say that it happens when calling async methods: var name = await c.GetAsync(…)
It happens with F10 and F11, but I would say that await async methods has a lot more lottery tickets.

This is an example in where it’s happened a few times yesterday.

image.png

Thays Tagliaferri de Grazia [MSFT] on 12/7/2021, 08:27 AM:

When you start your Blazor WebAsssembly Application, pressing something like BlazorApp75.Server button, a console is opened, with a text like this:
info: Microsoft.Hosting.Lifetime[14]
Now listening on: https://localhost:5238
info: Microsoft.Hosting.Lifetime[0]
Application started. Press Ctrl+C to shut down.
info: Microsoft.Hosting.Lifetime[0]
Hosting environment: Development
info: Microsoft.Hosting.Lifetime[0]
Content root path: T:\thays\source\repos\BlazorApp75\BlazorApp75\Server\

Can you share the content of this Console after you get the error when you press F10/F11?
Also can you shared the content of the window in VS: Output -> Show output from: Debug?

Thanks for your help.

Roberto Mencia Franco on 12/7/2021, 03:03 PM:

(private comment, text removed)

Thays Tagliaferri de Grazia [MSFT] on 12/8/2021, 06:32 AM:

Can you please run on IIS as you usually do but send me the value in the window:
Output -> then choose “Show output from: ISV.isEducation.Portal.Server - ASP.NET Core Web Server”.
Please send me the output after you press F11 and you see the JS code.

Feedback Bot on 12/14/2021, 09:38 PM:

We will close this report in 14 days because we don’t have enough information to investigate further. To keep the problem open, please provide the requested details.

Roberto Mencia Franco on 12/15/2021, 01:20 PM:

I’m sorry that I have not been able to provide more information for, doing part of the work that the Testing team hasn’t been able to do.
It won’t go away by automatically closing the bug. So, keep it open and me or someone will eventually do your job at troubleshooting the problem.
In the meantime, I’ll keep paying my license.

Roberto Mencia Franco on 12/16/2021, 08:12 PM:

(private comment, text removed)

Roberto Mencia Franco on 12/16/2021, 08:17 PM:

(private comment, text removed)

Feedback Bot on 1/18/2022, 07:54 AM:

This issue is currently being investigated. Our team will get back to you if either more information is needed, a workaround is available, or the issue is resolved.


Original Solutions

(no solutions)

dotnet-issue-labeler[bot] commented 2 years ago

I couldn't figure out the best area label to add to this issue. If you have write-permissions please help me learn by adding exactly one area label.

mkArtakMSFT commented 2 years ago

@thaystg we talked about this and you were able to repro this yesterday. Moved over to GitHub so that you can associate your PR with this.

ghost commented 2 years ago

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

Issue Details
_This issue has been moved from [a ticket on Developer Community](https://developercommunity.visualstudio.com/t/VS2022-RC3-Blazor-debugging-with-F11-goe/1566868)._ --- [severity:It's more difficult to complete my work] I'm calling a method and I want to step into that method with F10/F11 to continue debugging. However, I step into a big mess of JS Blazor minimised code. Not my thing. See the recorded screen. --- ### Original Comments #### Feedback Bot on 10/28/2021, 11:38 PM:

We have directed your feedback to the appropriate engineering team for further evaluation. The team will review the feedback and notify you about the next steps.

#### Thays Tagliaferri de Grazia [MSFT] on 11/3/2021, 05:40 AM:

I need help to reproduce it, I created a simple async function and could step into without any issue, could you please tell me if you only have this behavior when trying to step into this specific function GetUsers? If you remove everything that is in your watch window do you still have this behavior? Could you share the code of this GetUsers function?

Thanks a lot.

#### Roberto Mencia Franco on 11/3/2021, 03:52 PM:

Sorry I can’t really replicate in a brand new solution, but I can replicate it in my solution consistently as shown in the recording.

You probably need to investigate internally in the source code to see the paths that could lead to the problem, as it happens all the time in my solution with F11.

#### Roberto Mencia Franco on 11/7/2021, 09:42 PM:

I’ve bee getting this behaviour even with F10. It seems to stop in framework JS code when there are breakpoints in the lines of the code surrounding the area being debugged.

#### Thays Tagliaferri de Grazia [MSFT] on 11/8/2021, 04:19 AM:

Could you please tell me the version of this package that is being used on Client and on Server project?

<PackageReference Include=“Microsoft.AspNetCore.Components.WebAssembly.DevServer” Version=“VERSION” PrivateAssets=“all” />

#### Roberto Mencia Franco on 11/8/2021, 02:11 PM:

The client:
<PackageReference Include=“Microsoft.AspNetCore.Components.WebAssembly.DevServer” Version=“6.0.0-rc.2.21480.10” PrivateAssets=“all” />

The server:
<PackageReference Include=“Microsoft.AspNetCore.Components.WebAssembly.Server” Version=“6.0.0-rc.2.21480.10” />

#### Roberto Mencia Franco on 12/1/2021, 02:30 PM:

I have not heard from this issue. Debugging Blazor is a pain.
I keep getting into JS code all the time, with F10 and F11. I can’t even debug a session.

I’m currently using the VS2022 17.1 pre1 and still happening.

image.png

#### Thays Tagliaferri de Grazia [MSFT] on 12/6/2021, 08:15 AM:

We are still trying to reproduce it. Do you have any class library being used using debug type = full? Do you have anything that you can share with me about your project to help me to reproduce?

#### Roberto Mencia Franco on 12/6/2021, 02:30 PM:

I don’t know how to consistently reproduce it, but it happens in pretty much every single debug session. And by far from all the large number of bugs that VS/Blazor has, this one is on the top for slowing down development.

Most of the times I work in code inside the “protected override async Task OnInitializedAsync()” of the pages.

I would probably say that it happens when calling async methods: var name = await c.GetAsync(…)
It happens with F10 and F11, but I would say that await async methods has a lot more lottery tickets.

This is an example in where it’s happened a few times yesterday.

image.png

#### Thays Tagliaferri de Grazia [MSFT] on 12/7/2021, 08:27 AM:

When you start your Blazor WebAsssembly Application, pressing something like BlazorApp75.Server button, a console is opened, with a text like this:
info: Microsoft.Hosting.Lifetime[14]
Now listening on: https://localhost:5238
info: Microsoft.Hosting.Lifetime[0]
Application started. Press Ctrl+C to shut down.
info: Microsoft.Hosting.Lifetime[0]
Hosting environment: Development
info: Microsoft.Hosting.Lifetime[0]
Content root path: T:\thays\source\repos\BlazorApp75\BlazorApp75\Server\

Can you share the content of this Console after you get the error when you press F10/F11?
Also can you shared the content of the window in VS: Output -> Show output from: Debug?

Thanks for your help.

#### Roberto Mencia Franco on 12/7/2021, 03:03 PM: (private comment, text removed) #### Thays Tagliaferri de Grazia [MSFT] on 12/8/2021, 06:32 AM:

Can you please run on IIS as you usually do but send me the value in the window:
Output -> then choose “Show output from: ISV.isEducation.Portal.Server - ASP.NET Core Web Server”.
Please send me the output after you press F11 and you see the JS code.

#### Feedback Bot on 12/14/2021, 09:38 PM: We will close this report in 14 days because we don’t have enough information to investigate further. To keep the problem open, please provide the requested details. #### Roberto Mencia Franco on 12/15/2021, 01:20 PM:

I’m sorry that I have not been able to provide more information for, doing part of the work that the Testing team hasn’t been able to do.
It won’t go away by automatically closing the bug. So, keep it open and me or someone will eventually do your job at troubleshooting the problem.
In the meantime, I’ll keep paying my license.

#### Roberto Mencia Franco on 12/16/2021, 08:12 PM: (private comment, text removed) #### Roberto Mencia Franco on 12/16/2021, 08:17 PM: (private comment, text removed) #### Feedback Bot on 1/18/2022, 07:54 AM:

This issue is currently being investigated. Our team will get back to you if either more information is needed, a workaround is available, or the issue is resolved.

--- ### Original Solutions (no solutions)
Author: vsfeedback
Assignees: -
Labels: `untriaged`, `area-Debugger-mono`
Milestone: -
Cpt-Falcon commented 2 years ago

It would be great to fix this, its hard to even step through code. Instead I have to put 15 breakpoints and then continue to each breakpoint so it doesn't go into garbage minified javascript.

thaystg commented 2 years ago

This is already fixed, probably will merge it soon! Thanks @serp777

Cpt-Falcon commented 2 years ago

@thaystg Excellent thank you

rmencia-isv commented 2 years ago

This is already fixed, probably will merge it soon! Thanks @serp777

Thanks @thaystg . I really hope it can be released soon. Debugging Blazor WASM is really painful at the moment (and not only for this), and this problem happens all the time, in every debug session. I'm like @Cpt-Falcon I can't fo F10 or F11, I basically have to put breakpoints in every single line and press F5 to be able to get anywhere.