【问题标题】:Visual Studio step into doesn't returnVisual Studio 步入不返回
【发布时间】:2009-09-14 19:52:07
【问题描述】:

我有一个多线程应用程序。它还使用一些非托管代码,即 ODBC 驱动程序。如果我在特定线程中,有时我会按 F10 跳过,但它不会在下一行停止,程序运行就像我按 F5 继续一样。任何想法为什么会这样?

更新 1

当我说程序运行时,我指的是我所在的线程。我有一个文件是信号线程。我在 C 上休息,按 F10,没有任何休息,我一直得到指令到 Z。

【问题讨论】:

  • F10 是“step over”——你的意思是推 F11,也就是“step into”吗?

标签: c# .net multithreading debugging


【解决方案1】:

这是 Visual Studio 2008 中的一个错误。已由 this hotfix 更正。

(我也有同样的问题。把我逼疯了。)

【讨论】:

    【解决方案2】:

    一种可能性是您正在调试的线程继续运行(当您按 F10 时),并在子例程内的某些内容上阻塞/休眠,然后它返回到您的断点(即您的“下一条”指令);当你说“程序运行”时,可能只是其他线程在运行。

    【讨论】:

      【解决方案3】:

      如果没有更具体的细节,很难确切知道您看到此行为的原因,因为可能发生这种情况的原因有多种。线程可能被阻塞,可能发生异常(F10 跳过),或者为该模块加载的符号可能与源不匹配等等。

      您可以尝试阅读对this question 的回复 它可能包含其他有用的信息。

      【讨论】:

        【解决方案4】:

        如果您跳过的方法引发异常,也会发生这种情况。

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2020-12-31
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          相关资源
          最近更新 更多