dotnet / vscode-csharp

Official C# support for Visual Studio Code
MIT License
2.86k stars 670 forks source link

The CoreFX symbols are missing for IL symbols. #3805

Open dandanmu opened 4 years ago

dandanmu commented 4 years ago

Environment data

dotnet --info output: .NET Core SDK (reflecting any global.json): Version: 3.1.301 Commit: d88f25203a

Runtime Environment: OS Name: Mac OS X OS Version: 10.15 OS Platform: Darwin RID: osx.10.15-x64 Base Path: /usr/local/share/dotnet/sdk/3.1.301/

Host (useful for support): Version: 3.1.5 Commit: 65cd789777

.NET Core SDKs installed: 3.1.301 [/usr/local/share/dotnet/sdk]

.NET Core runtimes installed: Microsoft.AspNetCore.App 3.1.5 [/usr/local/share/dotnet/shared/Microsoft.AspNetCore.App] Microsoft.NETCore.App 3.1.5 [/usr/local/share/dotnet/shared/Microsoft.NETCore.App]

VS Code version: 1.45.1 C# Extension version: 1.22 (v1.22.0)

Steps to reproduce

  1. Create a new ASP.NET Razor project by doing

    mkdir razor cd razor dotnet new razor

  2. Install VS code (if you have not already) https://code.visualstudio.com/Download

  3. Launch VSCode and install the C# extension.

  4. Install the 1.15 or later C# (by OmniSharp) Extention (View -> Extensions, then type OmniSharp, and click on ‘Install’)

  5. Use File -> Open Folder to open the razor folder you have created in step 1

  6. It may ask at the bottom right to install assets to build and debug, say yes.

  7. After it has done this it will have created a .vscode directory in the ‘razor’ directory and a ‘launch.json’ file in that directory. Open the ‘.vscode’ directory, and double click on the ‘launch.json to edit it.

  8. Add the following lines after the “name” line of the “Configurations” object. (This allows debugging through the framework.

    "justMyCode": false,
    "symbolOptions": {
          "searchMicrosoftSymbolServer": true
    },
    "suppressJITOptimizations": true,
  9. Double click on the ‘Startup.cs’ file in the ‘Explorer’ pane to bring up that source code.

  10. Add the following line to the Startup.cs file at the beginning of the ‘Configure’ method (at the bottom of the file).
    Console.WriteLine("x " + 3);

  11. Place a breakpoint on that line (F9).

  12. Run the application until it hit that breakpoint (F5). It will load symbols from the Microsoft symbol server, and may take a few seconds to hit the breakpoint. You should see 20-30 lines of ‘Loaded XXX Symbols loaded’. Lines as it does this).

  13. Step into the concatination method (F11). This tests CoreCLR symbols AT THIS POINT IT SHOULD SHOW YOU THE SOURCE CODE FOR Concat(). If it does not that is a FAILURE. Please report it.

  14. Step out of Concat (Shift F11). Then step into Console.WriteLine (F11).

Expected behavior

This tests CoreFX symbols AT THIS POINT IT SHOULD SHOW YOU THE SOURCE CODE FOR Console.WriteLine().

Actual behavior

Cannot step into Console.WriteLine (F11). The CoreFX symbols are missing. image

NicoleWang001 commented 4 years ago

Related bug https://github.com/OmniSharp/omnisharp-vscode/issues/3032

gregg-miskelly commented 4 years ago

This is probably not a problem with this extension. But I will try and verify tomorrow.