我使用一个For循环,如下所示:
for (int i = 0; i < 1000; i++)
{
int mod = i % 1795;
//Do some operations here
}它工作得很好,但是当我设置一个断点并将条件作为mod=150应用时,它会减慢执行速度。为什么会发生这种事?当我添加这样的条件断点时,实际发生了什么?

发布于 2015-09-04 06:31:00
条件断点不是硬件所支持的;处理器只支持无条件的断点。在创建条件断点时,调试器会在代码中插入一个无条件的断点。当无条件断点被击中时,调试器将评估您的条件,如果失败,只需重新执行。由于每次经过断点位置都需要停止并涉及调试器,所以代码运行得慢得多。
根据代码执行的频率和构建代码所需的时间,仅仅添加一个
if (your condition)
{
System.Diagnostics.Debugger.Break();
}或者类似的,只需重建你的应用程序。
https://stackoverflow.com/questions/32391419
复制相似问题