【问题标题】:How to set a breakpoint on a method within the .net framework如何在 .net 框架内的方法上设置断点
【发布时间】:2011-01-12 15:46:18
【问题描述】:

我希望在System.Threading.SynchronizationContext::SetSynchronizationContext 静态方法上设置一个断点,这样我就可以知道何时设置了同步上下文。

但是我找不到如何在我没有源代码的方法中设置断点。

这应该很容易!,但是当我尝试在断点窗口中的方法上设置断点时,它确实可以识别该方法。)

【问题讨论】:

  • 你曾经解决过这个问题吗?我也看到了

标签: .net visual-studio visual-studio-2008 debugging


【解决方案1】:

点击Debug、Windows、Breakpoints,点击New、Break at function,输入System.Threading.SynchronizationContext.SetSynchronizationContext,点击OK。

它会给你一个警告,你应该忽略它。我试过了,它确实有效。


伊恩·林罗斯编辑

我还必须在调试配置中关闭“仅启用我的代码”设置。

启动 Visual Studio 2008 并打开工具 > 选项 > 调试 > 常规。如果您在 Visual Basic 配置文件下运行,则需要在继续之前选中选项对话框左下方标记为“显示所有设置”的框(其他配置文件没有此选项)。 设置以下设置: 关闭“仅启用我的代码”设置

【讨论】:

  • 这就是我最初所做的,但是当我运行我的应用程序时,断点会显示一个黄色警告标志,并且工具提示说断点不会被命中,因为没有加载符号。
  • 我不知道为什么会这样。我自己试过了,效果很好。
【解决方案2】:

可以调试 .NET 框架类。 您所要做的就是设置 VS.NET,以便它能够从 Microsoft 的一台服务器下载 .NET 框架的调试符号。

您将无法在 .NET 方法中设置断点,但是,您将能够单步执行 .NET 框架的另一个方法,并且在调试时,并且一旦您已单步执行该方法,(并且 VS.NET 已经打开了包含 SetSynchronizationContext 方法的文件),您将能够在该方法上设置断点。

有关如何设置 VS.NET 以便调试 .NET 框架的信息,请单击here

【讨论】:

  • +1 作为链接让我计算出我必须打开的设置,但是我不需要调试符号。
  • 我用的是VS2015,我选择只加载特定符号,实际上我只添加了一个dll,但它下载了所有符号...
猜你喜欢
  • 2018-08-08
  • 1970-01-01
  • 2019-08-04
  • 1970-01-01
  • 2011-07-01
  • 2012-03-05
  • 1970-01-01
  • 1970-01-01
  • 2013-01-22
相关资源
最近更新 更多