Visual Studio 2013中的调试无法正常工作

时间:2014-04-27 15:23:34

标签: vb.net visual-studio-2013 visual-studio-debugging

我正处于VS 2013中新的VB.net Windows Forms项目的开始阶段,该项目连接到TFS 2013应用程序层。我已使用Microsoft Update更新了VS客户端,以包含当前可用的所有修补程序。

我遇到了两个问题:

  1. 忽略断点(最终)
  2. F10(Step Over)& F11(Step Into)不能正常工作(它们可能工作一两次,然后完全退出所有运行方法)
  3. 随着时间的推移,问题会发生变化,但实际上会发生这种情况(注意:我已经在Form Load上调用的方法中设置了断点,因此预期的行为是在接口可用之前命中断点。此外,方法中断点之后大约有十几行。

    1. F5以调试模式启动项目
    2. 表单加载并且不会在断点处停止
    3. 进行调用方法的更改
    4. 应用程序在适当的位置停止
    5. 点击F10一次,进入下一行
    6. 再次点击F10,它完全退出所有正在运行的方法,让我回到界面(我期望这里是它转到下一行)
    7. 一直重复步骤3-6直到它继续并且不再在断点处停止,也不允许我逐步执行或逐步进入任何方法
    8. 其他一些信息:

      1. 我有另一个更大的VB.Net应用程序,从未遇到过调试问题
      2. 当我设置VS2013时,我选择了General Development,我从默认设置中做出的唯一更改是将配色方案更改为暗方案。
      3. 在我的研究中,我真正发现的与2013年有关甚至远程相关的唯一文章都指向了这篇文章:VS/2013 Debugger Not Working (MFC/C++/CLI w/ previous version of MFC library)
        这篇文章听起来有类似的行为,但它与包含C#和C ++代码的项目有关,而我的代码却没有。

        有没有人能够了解导致这种情况的原因,以及我可以做些什么来解决这个问题?我没有VS2012的这些问题,我想我可能会在这个项目中使用它,直到我能解决问题。

1 个答案:

答案 0 :(得分:0)

好的,我发现了问题。

它源于这样一个事实:我试图跨过或进入的每一行都有一个InvalidCastException(我试图将一个Integer和两个字符串一起添加到另一个字符串中。当字符串为空时,它试图将它们转换为Double)。这些错误并没有导致应用程序中断,它默默地忽略它们并将它们放在“输出”窗口中(我没有注意)。
具有讽刺意味的是,我知道这些线路上会出现错误,我试图弄清楚它们是什么,所以我可以正确地进行转换。

当我将其中一行设置为中断而产生错误时,断点失败,并且Step Over函数将完全跳过它们。

修复InvalidCastExceptions后,调试再次开始正常工作。