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

Mik*_*ain 5 debugging symbols step-into visual-studio-2010

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

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

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

有任何想法吗?

Chr*_*ich 14

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

启用Just My Code:

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

要防止为DLL加载符号:

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

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

要确保未加载C的符号:

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