如何在每次访问类时设置断点

时间:2010-08-25 12:17:11

标签: c# .net visual-studio debugging breakpoints

当使用第三方系统,特别是可动态加载提供者,控制器,组件等的非常可配置的系统时,我有时只想知道何时访问某个对象或类。通常情况下,我会在源代码中的任何潜在行放置一个断点(令人讨厌,但它有效),但如果源不可用:

如何指示Visual Studio 2010 Ultimate打破对给定类的任何和每次访问?

注意:就我的经验而言,这通常是不可能的,但我希望看到它确认

4 个答案:

答案 0 :(得分:12)

不是最优雅的,但是如果你 Ctrl + F public那么你可以在 F9 [set breakpoint]之间发送垃圾邮件然后 F3 [find next]在每个进入该类的公共入口点设置一个断点。

您可能还想为protectedinternal入口点添加断点,以及任何显式接口实现(不具有public的声明)

答案 1 :(得分:8)

您可以点击调试>新断点>功能断点Ctrl-B直接带您到那里。它可以让你打破一个特定的功能。

在调试过程中,您可以在Breakpoints窗口中看到是否找到该方法并且是否会被击中(红色圆形图标)(白色带圆圈图标,截至禁用断点),就像正常断点一样。

答案 2 :(得分:1)

在某一时间(VS2008之前),您可以通过选择全部(ctrl-a)然后设置断点(F9)在文件的每一行设置断点。

在每个方法的条目上只设置一个,如果我没记错的话,一个宏。查看John Robbins的博客作为可能的来源:http://www.wintellect.com/CS/blogs/jrobbins/

[编辑:ctrl-A,F9在2010年或2008年不起作用,所以它必须是我记得的早期版本]

答案 3 :(得分:1)

我刚为此制作了一个Visual Studio 2010插件。检查一下:http://weblogs.asp.net/uruit/archive/2011/08/04/visual-studio-2010-addin-setting-a-class-breakpoint.aspx

<强>更新

此项目现在位于Github。随意贡献。