A RetroSearch Logo

Home - News ( United States | United Kingdom | Italy | Germany ) - Football scores

Search Query:

Showing content from https://github.com/dotnet/fsharp/issues/11262 below:

Uncaptured locals are not available in closures when debugging · Issue #11262 · dotnet/fsharp · GitHub

Repro:

  1. Open VisualFSharp.sln
  2. Open SignatureHelp.fs
  3. Put a breakoint on line 123(let startOfArgs = ...)
  4. Launch a hive of VS where you can debug
  5. Enter the following source code:
type C() =
    static member M(x, y, z)  = ()

C.M(1)
  1. Place cursor after the 1 on the last line
  2. Press the comma character (,) so that Signature Help is triggered

Note that there are some locals, and critically you can observe the value of applicableSpan:

Now try to get the source code that matches this span by:

  1. Opening the Immediate Window
  2. Entering the following:

sourceText.GetSubText(applicableSpan)

You will observe that sourceText doesn't exist. Indeed, it wasn't even in the locals window.

However, note that sourceText is a parameter to this method and it is clearly accessible.

We are losing debug info on every do! call in the method.

To test this, place a breakpoint on line 89 (do! Option.guard (methods.Length > 0 ...). When it is broken there, you'll see that sourceText is available:


RetroSearch is an open source project built by @garambo | Open a GitHub Issue

Search and Browse the WWW like it's 1997 | Search results from DuckDuckGo

HTML: 3.2 | Encoding: UTF-8 | Version: 0.7.4