问题标签 [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.
.net - 在 Visual Studio 的监视窗口中自动刷新
可能重复:
“此表达式会导致副作用,不会被评估”。怎么压制?
我在 Visual Studio 中使用 Watch 窗口。我在 Watch 窗口中添加了一些变量。有时要在调试时获取值,我必须单击刷新图标。是不是有一些设置可以让它自动刷新?
c# - 我可以防止 StackOverflowException 在 Visual Studio 中使我的调试对象崩溃吗?
我正在调试一个 3rd 方库,该库中充斥着偶尔抛出 StackOverFlowException 的属性。
每当我在 Watch 窗口中查看此库中的对象时,我最终都会收到错误消息“函数评估已中止”,并且我正在调试的应用程序崩溃。
我写了一个重现此属性的示例(尝试在 Watch 窗口中对其进行评估时):
有什么方法可以评估 Watch 窗口中的属性,而不会使我的应用程序因 Stackoverflow 而崩溃?
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
已经全局导入(项目属性 -> 引用 -> 导入的命名空间))。
还有什么可以做的?
debugging - Visual Studio 监视窗口调试器不显示任何内容
我今天正在处理我的应用程序,突然之间,我的调试器停止了工作。
我在 Visual Studio 2013 中工作。通常在调试时,我设置断点,然后按 f11 进入,并在我认为是监视窗口的地方观察更新的结果。但是现在它完全是空白的。什么都没有显示。
该程序编译、运行和构建都很好,而且我已经完全了解了互联网上似乎最快速修复的解决方案。有没有其他人遇到过这个问题?
编辑:
设置断点后,我可以右键单击变量并添加到监视以进行调试,但这并不方便。我假设由于某种原因,它决定默认不添加所有要观看的内容。这是VS中的某个选项吗?
c# - 通过观察窗口中的表达式读取多属性并处理具有 Debugger.NotifyOfCrossThreadDependency() 的属性的结果
我有一个问题,当涉及到可能使用其他线程的属性时,watch 表达式会立即中断。我不想收到消息“函数评估需要所有线程都运行”,但我仍然想使用不执行潜在“不安全”和持久属性的调试器功能。
我看到在即时窗口中输入表达式时抛出了 ThreadAbortException,因此我尝试处理此异常并在评估时继续执行 Watch Window 线程执行。但它没有用。
我有下一个情况:
在测试方法中调试:
似乎处理了 ThreadAbortException ,但是Thread.ResetAbort()没有成功恢复应该在监视窗口中初始化表达式的线程,并且当离开 Catch 块时,它被重新抛出,就像 ResetAbort 没有效果一样。在到达断点时对手表的第一次评估中,我有下一个情况:
图片 - 最初尝试读取“不安全”属性
我们看到提示读取该属性并且发生了 ThreadAbortException。单击标记的图标后,将执行“不安全”读取。
图片 - 单击按钮后的常规阅读
我对初步评估感兴趣,是否可以进行评估,例如:
简单,失败阅读
也许 Thread.ResetAbort() 被 Watch Window 线程忽略。有任何想法吗?
作为参考的相关主题:
调试期间的 Visual Studio:函数评估需要所有线程运行
评估需要一个线程临时运行。使用 Watch 窗口执行评估
c# - 调试器监视窗口中的 VS2015 LINQ
根据我的源Debugging lamba expression with VS2015,LINQ 应该在调试器的监视窗口中工作。但是,我仍然收到以下错误:
错误 CS1061:“IEnumerable<MyClass>”不包含“Where”的定义,并且找不到接受“IEnumerable<MyClass>”类型的第一个参数的扩展方法“Where”(您是否缺少 using 指令或程序集参考?)
我必须打开一些选项吗?如何在监视窗口中启用 LINQ?System.Linq
通过 using 包含在我当前正在调试的文件中。
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。
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)
zerobrane - zerobrane 工作室的监视窗口中缺少表格元素
我是使用 zerobrane 工作室的新手。在监视窗口中,缺少表格元素“表达式”和“值”。只显示一个空白窗口。如何在 zerobrane studio 的监视窗口中添加两个标题栏:“表达式”和“值”,使其像 zerobrane studio 的所有文档中显示的“正常”监视窗口一样工作。