单步执行代码时可以跳过代码的哪些部分?当调试器跳转到属性获取和设置时,我觉得这特别恼人。有没有办法避免这种情况?VS2005:当通过C#代码跨步,有没有办法跳过代码段?
回答
是的,有一个步骤(F10)功能,以及一个步骤(F11)。
有一个选项Step over properties and operators (Managed only)
或使用F10,而不是F11(默认键盘绑定)
该选项不可用在VS2005。 – CJ7 2010-07-17 03:19:12
你可以使用“运行到光标”一次性断点。
当您使用F10时,代码会简单地遍历每条语句,除非您已经在更深层次中设置了断点。我从来没有发现调试器错过了你建议的方式,请注意,我只使用VS2008。
如果你想跳过整个方法您可以用DebuggerStepThrough
属性标记它:
[DebuggerStepThrough]
public void SomeMethod()
{
// lots of code...
}
public int SomeProperty
{
[DebuggerStepThrough]
get { return ComplexLogicConvertedToMethod(); }
[DebuggerStepThrough]
set { this.quantity = value ; }
}
请注意,属性阻止调试步入方法或属性,但你总是可以放置一个断点在那种方法中,并在那里停止。
属性派上用场尤其是当你有这样的代码:
DoSomething(obj.SomeProperty);
如果你想踏入DoSomething
,然后按F11你会 - 无属性 - 第一步到SomeProperty
然后进入DoSomething
。然而,使用该属性,您将立即在DoSomething
方法中结束。
如果要完全防止用户将断点放入方法中,可以使用DebuggerHiddenAttribute
。
您可以在任何您不想进入的方法/属性上设置属性DebuggerStepThroughAttribute。
而且你也可以使用“Step Over”而不是“Step Into”命令。
添加DebuggerStepThrough属性你的财产:
[DebuggerStepThrough]
private static void DO() {
Console.WriteLine("test");
}
- 1. 有没有办法跳过jQuery/Backbone/Underscore的代码,当调试通过JS?
- 2. C#没有通过foreach代码
- 3. 有没有办法通过PHP页面修改node.js代码?
- 4. 有没有办法通过代码与OneNote对话?
- 5. 有没有办法通过http代码过滤记录的elmah条目?
- 6. C:功能跳过代码
- 7. 有没有办法缩短这段代码? C#的WinForms
- 8. 有没有办法将一段代码嵌入到另一段代码中?
- 9. 通过C#代码
- 10. 通过C#代码
- 11. 有没有办法让这个C#比较代码更通用?
- 12. .Net跳过代码
- 13. 有没有办法隐藏JavaScript代码?
- 14. 有没有办法从代码
- 15. 有没有办法在代码
- 16. 有没有办法让这段代码更有效率?
- 17. 有没有办法隔离阻塞异步代码的库
- 18. Vertica - 有没有办法通过代码检索被拒绝的记录?
- 19. 有没有办法通过代码查看iPhone的短信档案?
- 20. 有没有办法跳过pytest夹具?
- 21. 有没有办法在vim中缩进代码段?
- 22. 有没有什么办法可以优化这段代码?
- 23. 有没有办法在MATLAB中加速这段代码?
- 24. 有没有办法减少这段代码中的行数?
- 25. 有没有办法压缩这段代码?
- 26. 有没有办法让这段代码更简洁?
- 27. 通过代码
- 28. 通过代码
- 29. 通过代码
- 30. 通过代码
并且还步出(ctrl-F11)(继续,直到您返回到立即调用功能)。 – Richard 2010-07-16 09:08:54