Debugging 调试F#数据提供程序问题

Debugging 调试F#数据提供程序问题,debugging,f#,nullreferenceexception,freebase,f#-data,Debugging,F#,Nullreferenceexception,Freebase,F# Data,我正试图从F#的freebase提供商那里获得一个位置,最终我成功了。我想填充自定义类“Place”(来自C#)库。在出现错误之前,一切都很顺利: System.NullReferenceException: Object reference not set to an instance of an object. 此错误发生在此行: tempAddress.Address <- firstPlace.``Street address``.``Street Address`` |>

我正试图从F#的freebase提供商那里获得一个位置,最终我成功了。我想填充自定义类“Place”(来自C#)库。在出现错误之前,一切都很顺利:

System.NullReferenceException: Object reference not set to an instance of an object.
此错误发生在此行:

 tempAddress.Address <- firstPlace.``Street address``.``Street Address`` |> Seq.head
不过,我的一切都在调试中。例如,我可以调试普通的C代码,这只发生在F项目中

有没有办法让VS2013告诉我当地人?或者让我看看那里发生的事情?谢谢

编辑我用另一个和平的代码做了一个小测试,一个检查单词是否是回文的人,我能够调试、进入代码并观察局部变量和变量。就在我下载FSharp.Data的nuget包并开始编码时,它停止了正确的调试。我看到当这条线被称为:

let place = dataWithKey.Commons.Travel.``Travel destinations``.Where( fun x-> x.MachineId = mid) |> Seq.toList  

在此之前,我可以看到“mid”变量内容,其中包含已擦除的类型提供程序。您看到的代码与运行时实际执行的代码非常不同,因此有时调试器会遇到一些问题。Freebase更糟糕,因为有很多IQueryable转换正在进行。您是否尝试过检查VS选项中调试器部分下的“启用源服务器支持”,并尝试进入FSharp.Data源代码?

我无法复制。mid的价值是什么?试试这个mid“/m/04jpl”它是伦敦的id。嗨,Gustavo,我启用了源服务器支持,重建了项目,但无法进入FSharp.Data源代码。
        mid Cannot obtain value of local or argument 'mid' as it is not available at this instruction pointer, possibly because it has been optimized away. string
let place = dataWithKey.Commons.Travel.``Travel destinations``.Where( fun x-> x.MachineId = mid) |> Seq.toList