least似乎比即时窗口强大得多(至少它可以处理在C#中经常使用的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 )。
发布于 2011-10-26 11:20:28
免责声明:我在微软的Roslyn团队工作。
不幸的是,我们现在还没有获得调试器上下文的方法。我们意识到这将是有用的,随着我们完成Roslyn的更多核心可交付成果,我们希望进行更多的调查,看看可以做些什么。
发布于 2017-03-30 09:29:41
这并不是一个完整的解决方案,但在VS2015中,在使用运行Debug之后,您可以使用Debug> Attach to process来连接到InteractiveHost.exe进程。
然后,您可以从项目中调试函数。但是,正如Kevin解释的那样,您将无法在交互窗口中调试一次性函数。
作为附注,https://stackoverflow.com/a/40650343/467110指出,您可能必须在打开解决方案之前打开一个项目交互窗口,以便成功初始化与C# 的交互
发布于 2022-01-11 17:18:11
在C#交互中,您可以运行
System.Diagnostics.Debugger.Launch();请求调试器,您将看到一个窗口,要求您选择一个打开的Visual Studio实例或附加一个新实例。假设您使用了Visual Studio的"Load Interactive with the Project“选项-当Interactive运行代码时,打开的解决方案中的任何断点都将命中。
如果您需要调试器而不需要预先存在的代码-您现在可以插入
System.Diagnostics.Debugger.Debug();调用你放到Interactive中的代码(但它必须放在一个“块”中,即一次按“enter”),你将能够通过“locals”窗口检查本地变量,并通过“immediate”窗口根据交互上下文运行代码。
https://stackoverflow.com/questions/7898123
复制相似问题