什么是'只是我的代码'?

Col*_*nic 48 visual-studio

Visual Studio有一个选项(在Debugging/General下)"Enable Just My Code"

什么是'只是我的代码'?Visual Studio不解释该功能.

在此输入图像描述

Col*_*nic 44

来自msdn文章

启用我的代码

启用此功能后,调试器仅显示和步入用户代码("我的代码"),忽略系统代码和其他优化的代码或没有调试符号的代码.

  • 我希望有更多解释对于Microsoft工具来说很简单."这个工具可以做X和Y.如果你想要Z,你可以使用它." (9认同)

mik*_*kus 18

只要该功能是不言自明的——调试器会跳过外部代码——我认为还值得一提的是,根据微软的说法,实际上算作“我的代码”的是什么。在 .NET 项目的上下文中:

不是我的代码:

  • 任何优化的库(例如发布模式)
  • 没有 .pdb 的库(没有调试符号)
  • [DebuggerNonUserCode]或标记的类或成员[DebuggerHidden]。也[DebuggerStepThrough]有影响

我的代码:

  • 任何已加载 .pdb(带有调试符号)但上述都不适用的项目

查看调试器将如何处理项目依赖项以及它们是否加载了调试符号的一种简单方法是检查模块窗口(Debug -> Windows -> Modules,仅在调试期间可见),其中提供了一个User Code列。

在实践方面,在调试时,任何非用户代码都被标记为 [外部代码]。