6

我正在 Visual Studio 上调试我的一些代码。此代码属于我创建的自定义会话提供程序,我正在我的 Web 应用程序启动时对其进行调试。它开始初始化我的提供程序,并且在该函数上,我有一个第一次成功命中的断点。然而,同样的断点再次被命中,但它有一个蓝色的小图标,如果你将鼠标悬停在上面,则会显示以下消息:

自上一步以来进程或线程已更改

在我的研究中,我找到了几种答案,从人们说断点正在命中不同的程序集到其他一些人说断点已从不同的线程命中。

有人知道这到底是什么意思吗?

4

2 回答 2

4

当您有多个线程运行同一段代码并且那里有一个断点时,Visual Studio 将在每次这些线程中的任何一个到达断点时停止执行。这将以不可预知的顺序发生在每个线程上。当您逐步调试代码时,另一个线程可以执行您正在调试的代码并命中断点。Visual Studio 将通过将带有感叹号的蓝色圆圈放在下一个语句箭头上来让您知道这一点。

在此处查看更多信息:在 Visual Studio 中调试多线程应用程序

于 2013-12-04T10:36:51.030 回答
0

此图标仅表示断点在与您所在的最后一个线程不同的线程上命中。它根本不会影响程序的行为。

于 2016-11-29T07:03:44.980 回答