问题标签 [watch-window]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
5810 浏览

.net - 在 Visual Studio 的监视窗口中自动刷新

可能重复:
“此表达式会导致副作用,不会被评估”。怎么压制?

我在 Visual Studio 中使用 Watch 窗口。我在 Watch 窗口中添加了一些变量。有时要在调试时获取值,我必须单击刷新图标。是不是有一些设置可以让它自动刷新?

0 投票
1 回答
807 浏览

c# - 我可以防止 StackOverflowException 在 Visual Studio 中使我的调试对象崩溃吗?

我正在调试一个 3rd 方库,该库中充斥着偶尔抛出 StackOverFlowException 的属性。

每当我在 Watch 窗口中查看此库中的对象时,我最终都会收到错误消息“函数评估已中止”,并且我正在调试的应用程序崩溃。

我写了一个重现此属性的示例(尝试在 Watch 窗口中对其进行评估时):

有什么方法可以评估 Watch 窗口中的属性,而不会使我的应用程序因 Stackoverflow 而崩溃?

0 投票
1 回答
539 浏览

visual-studio - 扩展方法在 Visual Studio 中不起作用(立即/监视窗口)

当我尝试在即时或监视窗口中使用扩展方法时,我收到以下错误:

{method} 不是 {class} 的成员

我正在使用 Visual Studio Community 2013 Update 4,但这里的多台 PC 上存在问题,运行不同版本的 Visual Studio 2013 和 2015。

扩展方法是来自 .NET BCL,还是在我们的项目中定义,都没有区别。代码本身编译运行成功;问题仅在“立即”和“观察”中。

我尝试将所有项目设置为框架 4.5.1,并使用 x86 配置,但没有结果。

在代码文件的开头添加Imports System.Linq没有任何区别(这是有道理的,因为System.Linq已经全局导入(项目属性 -> 引用 -> 导入的命名空间))。

还有什么可以做的?

0 投票
2 回答
3915 浏览

debugging - Visual Studio 监视窗口调试器不显示任何内容

我今天正在处理我的应用程序,突然之间,我的调试器停止了工作。

我在 Visual Studio 2013 中工作。通常在调试时,我设置断点,然后按 f11 进入,并在我认为是监视窗口的地方观察更新的结果。但是现在它完全是空白的。什么都没有显示。

该程序编译、运行和构建都很好,而且我已经完全了解了互联网上似乎最快速修复的解决方案。有没有其他人遇到过这个问题?

编辑:

设置断点后,我可以右键单击变量并添加到监视以进行调试,但这并不方便。我假设由于某种原因,它决定默认不添加所有要观看的内容。这是VS中的某个选项吗?

0 投票
0 回答
189 浏览

c# - 通过观察窗口中的表达式读取多属性并处理具有 Debugger.NotifyOfCrossThreadDependency() 的属性的结果

我有一个问题,当涉及到可能使用其他线程的属性时,watch 表达式会立即中断。我不想收到消息“函数评估需要所有线程都运行”,但我仍然想使用不执行潜在“不安全”和持久属性的调试器功能。

我看到在即时窗口中输入表达式时抛出了 ThreadAbortException,因此我尝试处理此异常并在评估时继续执行 Watch Window 线程执行。但它没有用。

我有下一个情况:

在测试方法中调试:

似乎处理了 ThreadAbortException ,但是Thread.ResetAbort()没有成功恢复应该在监视窗口中初始化表达式的线程,并且当离开 Catch 块时,它被重新抛出,就像 ResetAbort 没有效果一样。在到达断点时对手表的第一次评估中,我有下一个情况:
图片 - 最初尝试读取“不安全”属性

我们看到提示读取该属性并且发生了 ThreadAbortException。单击标记的图标后,将执行“不安全”读取。
图片 - 单击按钮后的常规阅读

我对初步评估感兴趣,是否可以进行评估,例如:
简单,失败阅读

也许 Thread.ResetAbort() 被 Watch Window 线程忽略。有任何想法吗?

作为参考的相关主题:
调试期间的 Visual Studio:函数评估需要所有线程运行
评估需要一个线程临时运行。使用 Watch 窗口执行评估

0 投票
1 回答
730 浏览

c# - 调试器监视窗口中的 VS2015 LINQ

根据我的源Debugging lamba expression with VS2015,LINQ 应该在调试器的监视窗口中工作。但是,我仍然收到以下错误:

错误 CS1061:“IEnumerable<MyClass>”不包含“Where”的定义,并且找不到接受“IEnumerable<MyClass>”类型的第一个参数的扩展方法“Where”(您是否缺少 using 指令或程序集参考?)

我必须打开一些选项吗?如何在监视窗口中启用 LINQ?System.Linq通过 using 包含在我当前正在调试的文件中。

0 投票
1 回答
1121 浏览

c# - Lambda 表达式评估在 Visual Studio 2015 中不起作用。为什么?

我很高兴能在 VS2015 的 Watch/Immediate 窗口中测试 lambda 表达式评估,不幸的是我无法让这个功能正常工作。

我在几个 ASP.NET 项目(使用 .NET 4.6.1)上对此进行了测试,但是无论我在 Watch 窗口中键入什么表达式,消息仍然是相同的:Expression cannot contain lambda expressions. 自从我们收到 VS2015 以来,我的同事很高兴在相同的项目中使用这个工具。

这是所有 lambda 中的一个:

此代码按预期返回 2,但在 Watch and Immediate 窗口中会list.First<int>(p => p == 2)产生Expression cannot contain lambda expressions错误。

我一直在互联网上寻找一些提示,但我从未见过任何先决条件,也没有看到此功能的限制,所以我希望有人能给我有用的提示,这将避免我完全重新安装 Visual Studio(如我目前看不到其他选择)。

我在 Windows 10 上运行 Visual Studio 2015 Professional,版本 4.6.01038。

0 投票
0 回答
116 浏览

c# - 观察窗口中的内联 Lambda 表达式

我通常需要在调试期间编写自定义 lambda 表达式。

举个例子:

(new Func<int, string>(x => $"{commandParameters[x].ParameterName} : {commandParameters[x].Value}"))(2)

或更短的:

(new Func<int, string>(x => x.ToString()))(2)

或者

((Func<int, string>)(x => x.ToString()))(2)

我想知道我们可以编写这样的表达式的最简单形式,以便它们可以在Watch窗口中进行评估。

省略了Func我们将拥有(x => x.ToString())(2)的更具可读性的结构,但由于以下原因不会对其进行评估CS0149: Method name expected

可爱的候选人:

  • (x => x.ToString())(2)
  • ((int x) => x.ToString())(2)
0 投票
1 回答
56 浏览

zerobrane - zerobrane 工作室的监视窗口中缺少表格元素

我是使用 zerobrane 工作室的新手。在监视窗口中,缺少表格元素“表达式”和“值”。只显示一个空白窗口。如何在 zerobrane studio 的监视窗口中添加两个标题栏:“表达式”和“值”,使其像 zerobrane studio 的所有文档中显示的“正常”监视窗口一样工作。

0 投票
1 回答
72 浏览

visual-studio - Visual Studio 标记观看值的方法

我很好奇有没有办法在监视窗口中标记对象的值 - 以帮助提高可读性?(如图所示)对调试很有帮助。我尝试双击名称并更改它,但看起来我们无法更改它。

我想如何使用它

非常感谢!