首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在C# interactive中获取调试器上下文

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

Stack Overflow用户
提问于 2011-10-26 10:28:16
回答 3查看 9.9K关注 0票数 44

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 )。

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2011-10-26 11:20:28

免责声明:我在微软的Roslyn团队工作。

不幸的是,我们现在还没有获得调试器上下文的方法。我们意识到这将是有用的,随着我们完成Roslyn的更多核心可交付成果,我们希望进行更多的调查,看看可以做些什么。

票数 47
EN

Stack Overflow用户

发布于 2017-03-30 09:29:41

这并不是一个完整的解决方案,但在VS2015中,在使用运行Debug之后,您可以使用Debug> Attach to process来连接到InteractiveHost.exe进程。

然后,您可以从项目中调试函数。但是,正如Kevin解释的那样,您将无法在交互窗口中调试一次性函数。

作为附注,https://stackoverflow.com/a/40650343/467110指出,您可能必须在打开解决方案之前打开一个项目交互窗口,以便成功初始化与C# 的交互

票数 48
EN

Stack Overflow用户

发布于 2022-01-11 17:18:11

在C#交互中,您可以运行

代码语言:javascript
复制
System.Diagnostics.Debugger.Launch();

请求调试器,您将看到一个窗口,要求您选择一个打开的Visual Studio实例或附加一个新实例。假设您使用了Visual Studio的"Load Interactive with the Project“选项-当Interactive运行代码时,打开的解决方案中的任何断点都将命中。

如果您需要调试器而不需要预先存在的代码-您现在可以插入

代码语言:javascript
复制
System.Diagnostics.Debugger.Debug();

调用你放到Interactive中的代码(但它必须放在一个“块”中,即一次按“enter”),你将能够通过“locals”窗口检查本地变量,并通过“immediate”窗口根据交互上下文运行代码。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/7898123

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档