C#交互式环境跳过了代码中的断点?

3
当我在调试我的代码时,我经常使用CSharp交互来查询我的一些API。然而,我发现当我在我的API代码中设置断点时,在从C#交互窗口调用包含方法时,断点不会被触发。我是否做错了什么,或者有没有办法让C#交互脚本触发我的API中的断点?我对VS调试器的工作原理知之甚少,所以任何帮助将不胜感激。

确保您的配置设置为“调试”。您可能会遇到设置断点的问题,因为某个方法可能已经被内联化了。 - user1016945
2
FM毫不掩饰地表示:“交互式窗口目前不支持任何形式的调试”。也许有一天会改变,但我不会抱太大希望。 - Hans Passant
太糟糕了 - 它本来会对故障排除非常有帮助。 - CShark
2个回答

9

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


1
Debugger.Launch 对我没用。交互式窗口一直阻塞,直到我退出调试器。然而,附加到交互式主机进程非常顺利。+1 - William

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

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接