什么导致断点无法绑定?

时间:2016-03-07 15:57:53

标签: f# conways-game-of-life

导致断点无法绑定的原因是什么?

尝试执行以下表达式时收到错误:

let grid_1 = {  grid with Four= grid |> update };; // Updated here

我收到的错误如下:

enter image description here

代码:

type State = Alive | Dead 

type Response = | Survives
                | Dies
                | Resurected

type Grid = { Zero:State
              One:State
              Two:State
              Three:State
              Four:State // Central
              Five:State
              Six:State
              Seven:State
              Eight:State }

let isUnderPopulated (grid:Grid) =

    let zero =  if grid.Zero  = Alive then 1 else 0
    let one =   if grid.One   = Alive then 1 else 0
    let two =   if grid.Two   = Alive then 1 else 0
    let three = if grid.Three = Alive then 1 else 0
    let four =  if grid.Four  = Alive then 1 else 0
    let five =  if grid.Five  = Alive then 1 else 0
    let six =   if grid.Six   = Alive then 1 else 0
    let seven = if grid.Seven = Alive then 1 else 0
    let eight = if grid.Eight = Alive then 1 else 0

    let livingCount = zero + one + two + three + four + five + six + seven + eight
    livingCount < 2

let grid = { Zero =  Dead
             One =   Dead 
             Two =   Dead
             Three = Dead
             Four =  Dead
             Five =  Dead
             Six =   Dead
             Seven = Dead
             Eight = Dead }

let update (grid:Grid) =

    let underPopulated = grid |> isUnderPopulated 
    if underPopulated then Dead 
    else Alive

let grid_1 = {  grid with Four= grid |> update };; // Updated here

1 个答案:

答案 0 :(得分:0)

您可能正在尝试将断点绑定到过期的应用程序,这意味着在更改完成之后以及重新编译之前。

尝试:

  • 在调试模式下编译。

  • 在设置断点之前尝试清理解决方案。

  • 转到Debug文件夹,然后删除[Your application] .pdb文件。
  • 然后执行构建或重建您的应用程序。
  • 转到Debug文件夹并确认您有一个全新的[您的 应用程序] .pdb文件。
  • 然后尝试设置你的断点。

您可能没有生成调试信息,或者您可能处于可能对此产生影响的优化模式。

对于C ++项目:

检查以下项目属性:

  • C ++ / General / Debug信息格式:程序数据库。
  • C ++ / Optimization:已禁用。
  • C ++ /代码生成/运行时库:多线程调试。
  • 链接器/调试/生成调试信息:是。
  • 链接器/调试/生成程序数据库: $(TARGETDIR)$(的TargetName)的.pdb。
  • 链接器/清单文件/生成清单:否。
  • 链接器/清单文件/允许隔离:否。
  • 链接器/嵌入式IDL /忽略嵌入式IDL:是。

对于C#项目,请检查以下内容:

  • 在项目属性中设置Build / General / Optimize代码:Disabled。
  • 在IDE设置Debug / Options / Debug / General Suppress JIT中 模块加载优化(仅限管理):已启用

这可能是你的VS中的一个错误。

尝试在另一台计算机IDE中打开您的解决方案。如果你可以在另一台机器上绑定一个断点,这可能意味着你的VS或你的操作系统出现了问题。

检查您的IDE是否是最新的:

在VS2013 RTM以及VS2015 Update 1和Update2中都有类似问题的报告。

在VS中,转到工具/扩展程序&amp;更新/更新/产品更新,并查看您正在运行的版本。如果需要更新,它将出现在那里。

可能是由于操作系统中存在错误。

如果您运行的是Win 10操作系统,则在构建14251中存在有关此问题的报告错误。这已在构建14257(及更高版本)中得到解决。