Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/335.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
条件C#断点?_C#_Debugging_If Statement_Foreach_Breakpoints - Fatal编程技术网

条件C#断点?

条件C#断点?,c#,debugging,if-statement,foreach,breakpoints,C#,Debugging,If Statement,Foreach,Breakpoints,我正在调试一个foreach循环,该循环将迭代1000次以上——因此我只希望循环中的一个断点针对特定项中断 所以 我是否必须编写一个If语句和其中的一些伪代码,并以这种方式破坏它?那是唯一的办法吗 if (employee.Id == '2342') Debugger.Break(); 或者,您可以在VS中设置条件断点,但根据我的经验,这非常慢。您可以在Visual Studio中使用条件断点 右键单击断点并选择conditional,然后放入子句。如果您使用的不是VS的express Edi

我正在调试一个
foreach
循环,该循环将迭代1000次以上——因此我只希望循环中的一个断点针对特定项中断

所以

我是否必须编写一个
If
语句和其中的一些伪代码,并以这种方式破坏它?那是唯一的办法吗

if (employee.Id == '2342') Debugger.Break();

或者,您可以在VS中设置条件断点,但根据我的经验,这非常慢。

您可以在Visual Studio中使用条件断点


右键单击断点并选择conditional,然后放入子句。

如果您使用的不是VS的express Edition,请右键单击断点并单击Set Condition

个人来说,我会使用这种方法,因为我认为修改代码来调试它是不好的做法。


否则您将被迫按自己的方式执行。

通过用户界面使用带条件断点的VS调试器

最容易的最快的方式


只是对前面的答案进行了补充。 使用条件断点。

您可以指定如下条件

这是非常主观的。一、 就个人而言,每天使用它们,找到比用临时的东西“指导”我的代码快得多的东西。如果我可以避免在生产代码中编写调试代码,我会这样做。@leppie我不知道,如果您正在运行数百万条记录,那么值得考虑一下-谢谢@Tigran:在一些性能敏感的代码上,或者在一个调用频繁的方法上尝试一下。去冲些咖啡,希望断点已经被击中。可能它会执行得更快,但是,我个人来说,只有在没有办法的情况下才会这么做,或者在某种程度上干扰了我的UI。因为我不喜欢在我的代码中添加调试内容。当我说更快时,我指的不是调试器执行,而是断点设置。对于>1000次迭代,leppie的答案更好。虽然您必须编辑代码才能做到这一点,但速度要快得多。
if (employee.Id == '2342') Debugger.Break();