在C#interactive中获取调试器上下文

时间:2011-10-26 02:28:16

标签: c# visual-studio debugging roslyn

C#Interactive似乎比立即窗口更强大(至少它处理LINQ中经常使用的lambda表达式 - 请参阅Visual Studio debugging "quick watch" tool and lambda expressions),但看起来它不能用作替代品它不知道调试器上下文。有没有办法访问调试器上下文?

我见过Getting debugger context in F# interactive,它可能需要相同的东西,但也许有新的/不同的东西可用。

http://extendedimmediatewin.codeplex.com/可能有用,但看起来已经死了,虽然有人在2011年10月18日说他打算将它移植到VB.Net(http://extendedimmediatewin.codeplex.com/discussions/75589)。

2 个答案:

答案 0 :(得分:40)

免责声明:我在Roslyn团队为Microsoft工作。

不幸的是,我们现在无法获得调试器上下文。我们知道它会很有用,当我们完成Roslyn的更多核心可交付成果时,我们希望进一步调查,看看可以做些什么。

答案 1 :(得分:33)

不是一个完整的解决方案,但在VS2015中,运行使用项目初始化交互后,您可以使用 Debug > 附加到流程以连接到InteractiveHost.exe进程。

然后,您可以从项目中调试功能。但是,如凯文所解释的那样,您将无法在交互式窗口中调试一次性功能。

与旁注一样,https://stackoverflow.com/a/40650343/467110指出您可能必须在打开解决方案之前打开 C#Interactive窗口才能成功使用项目初始化交互< /强>