Skip to content

breakpoints doesnt work with anonymous records in .net core sdk #6512

@enricosada

Description

@enricosada

Setting breakpoint if the code contains anonymous records, doesnt work

I not yet tried in VS, but with latest .net core debugger and latest .net core sdks affect vscode
Ionide doesnt matter, the debugger is in MS code and i am using the VSCode Debug tab with tasks.json and launch.json

Repro steps

create a simple program with dotnet new console -lang f#

[<EntryPoint>]
let main argv =
    printfn "Hello World from F#!"

    // let a = {| A = 1 |}

    printfn "A"

    // printfn "%A" a

    0 // return an integer exit code

and set some breakpoint at the instructions.
Running in debug, it stop on breakpoint and debug works

if i uncomment the lines, the debugger doesnt stop on any breakpoint (not just anon records)

if i set debugger to stop at entry point, it stop an entry and i can step by step, but breakpoint are not enabled

image

the debug info show it cannot bind the line to breakpoint

Breakpoint warning: No executable code of the debugger’s target code type is associated with this line.
Possible causes include: conditional compilation, compiler optimizations, or the target architecture of this line is not supported by the current debugger code type. - e:\temp\pwa\Program.fs:6

Expected behavior

breakpoints works

Actual behavior

breakpoints doesnt works

Known workarounds

stop at entry point maybe, in vscode is done at launch.json

            "stopAtEntry": true,

Related information

can repro in .NET Core 2.1.603 and 3.0.100-preview3-010431

.NET Core SDK (reflecting any global.json):
 Version:   2.1.603
 Commit:    ae71c68742

Runtime Environment:
 OS Name:     Windows
 OS Version:  10.0.17134
 OS Platform: Windows
 RID:         win10-x64
 Base Path:   C:\Program Files\dotnet\sdk\2.1.603\

Host (useful for support):
  Version: 3.0.0-preview3-27503-5
  Commit:  3844df9537

.NET Core SDKs installed:
  2.1.603 [C:\Program Files\dotnet\sdk]
  3.0.100-preview3-010431 [C:\Program Files\dotnet\sdk]

.NET Core runtimes installed:

  Microsoft.NETCore.App 2.1.8 [C:\Program Files\dotnet\shared\Microsoft.NETCore.App]
  Microsoft.NETCore.App 2.1.10 [C:\Program Files\dotnet\shared\Microsoft.NETCore.App]
  Microsoft.NETCore.App 3.0.0-preview3-27503-5 [C:\Program Files\dotnet\shared\Microsoft.NETCore.App]
  Microsoft.WindowsDesktop.App 3.0.0-preview3-27504-2 [C:\Program Files\dotnet\shared\Microsoft.WindowsDesktop.App]

C# VSCode extension (who contains the debugger stuff)

Name: C#
Id: ms-vscode.csharp
Description: C# for Visual Studio Code (powered by OmniSharp).
Version: 1.18.0
Publisher: Microsoft
VS Marketplace Link: https://marketplace.visualstudio.com/items?itemName=ms-vscode.csharp

Metadata

Metadata

Assignees

Labels

Type

No type

Projects

No projects

Milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions