【问题标题】:C# interactive skips breakpoints in code?C# 交互式跳过代码中的断点?
【发布时间】:2016-05-26 08:35:21
【问题描述】:

在对我的代码中的问题进行故障排除时,我经常使用 CSharp 交互式对我的一些 API 执行查询。

然而,我注意到,当我在 API 代码中的某处放置断点时,从 C# 交互窗口调用包含方法时,没有命中断点。

是我做错了什么,还是有办法让 C# 交互式脚本在我的 API 中命中断点?

我对 VS 调试器的工作原理知之甚少,因此我们将不胜感激。

【问题讨论】:

  • 确保您的配置设置为“调试”。您当然可能在设置断点时遇到问题,方法可能已被内联。
  • The FM 对此毫不掩饰:“交互式窗口目前不支持任何形式的调试”。这可能有一天会改变,但我不会屏住呼吸。
  • 这太糟糕了——它对故障排除非常有帮助。

标签: c# visual-studio c#-interactive


【解决方案1】:

您实际上可以在交互式窗口中设置断点。加载您要调试的程序集后,您可以在交互窗口中调用Debugger.Launch() 或使用菜单选项Debug -> Attach to Process... 并选择InteractiveHost.exe。之后,断点将正常命中。

【讨论】:

  • Debugger.Launch 对我不起作用。交互式窗口被阻止,直到我退出调试器。但是,附加到交互式主机进程就像一个魅力。 +1
【解决方案2】:

如果您附加到进程并跳过断点: 工具 > 选项 ->(左侧菜单)调试部分 -> ( X )“启用 .NET Framework 源单步执行”

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2012-06-23
    • 1970-01-01
    • 1970-01-01
    • 2013-08-12
    • 2021-10-11
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多