2009-09-14 47 views
1

我有一个多线程应用程序。它也使用一些非托管代码,一个ODBC驱动程序。如果我在某个特定的线程中,有时会碰到一步,F10,但它不会停止在下一行,程序运行就好像我已经按F5继续。任何想法,为什么这是?Visual Studio进入不返回

更新1

当我说程序运行时,我的意思是线程我在,我有一个文件,它是一个信号线。我打破了C,打F10,并没有任何休息,我得到了Z的整个方式说明。

+0

F10是“跨越” - 你是否有意推F11,这是“步入”? – SqlRyan 2009-09-14 20:02:27

回答

4

这是Visual Studio 2008中的一个错误,它由this hotfix纠正。

(我有同样的问题。把我绝对疯了。)

1

一种可能性是,你正在调试的线程继续(当你按F10),并阻止/睡觉的东西在子程序返回到断点之前(即你的'下一个'指令);当你说“程序运行”时,也许这只是运行的其他线程。

1

没有更具体的细节,很难确切知道为什么你会看到这种行为,因为这可能会发生的原因有几个。线程可能被阻塞,可能发生了异常(F10跳过),或者为该模块加载的符号可能与源不匹配等等。

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

1

这也有可能发生,如果你跨过方法引发了异常。