在VS2010的调试过程中排除某些项目的进入?

时间:2010-10-07 05:17:51

标签: debugging visual-studio-2010 symbols step-into

我正在开发一个大型VS2010解决方案中的几个项目(A和B)(所有项目都在C#中)。在很多情况下,项目A中的方法调用解决方案中的一个或多个项目,而我不负责,后者又调用项目B.当从项目A中调试调试器时,我被迫在我最终达到项目B的调用之​​前,在这些其他项目中逐步完成我没有兴趣的方法。此外,当我走出项目B时,我必须一步一步地通过调用栈在我回到项目A之前,无趣的方法。

我目前正在通过在项目A和B的入口和出口点设置断点来解决这个问题,但我发现我花了很多时间在正确的地方设置这些断点,我觉得我的生活会如此如果我可以为某些项目禁用步进功能,那就容易多了。

我知道DebuggerStepThroughAttribute,但它的使用在我的情况下是行不通的,因为(i)我必须在很多地方添加它,以及(ii)我的办公室里有兴趣踩过这段代码的人会不开心。

有什么想法吗?

1 个答案:

答案 0 :(得分:14)

是的,这可以通过启用Just My Code并阻止您不关心的DLL加载符号来实现。

启用Just My Code:

  • 调试»选项和设置...»常规»选中“启用我的代码(仅管理)”。

防止加载DLL的符号:

  • 调试»选项和设置...»符号»单击“所有模块,除非排除”
  • 点击“指定排除的模块”
  • 添加要排除的模块的名称。调试应用程序时,不会加载它们的符号。

现在,当你从项目A到项目B进行F11步骤进入项目C时,只要你没有加载C的符号,步入将直接进入B. / p>

确保未加载C的符号:

  • 开始调试
  • 到达加载C的位置
  • 打开“模块”窗口(Ctrl + Alt + U),滚动到C
  • 条目
  • “符号状态”列应显示“通过包含/排除设置禁用加载”。