Visual Studio Watch窗口显示为灰色?

时间:2009-07-10 16:16:10

标签: visual-studio debugging

我有一个VB应用程序,我需要在它运行时监视。我在Watch窗口中添加了一些变量,但是当应用程序运行时,监视窗口显示为灰色。我发现看到变量值的唯一方法是使用Debug - >全部休息,但这会停止程序。

我使用过其他IDE,它们允许监视活动变量。这可能在VS?

很抱歉,如果这是一个菜鸟问题。

更新:要清楚,我的应用程序正在与一个实验室设备进行通信,并且当发送或接收数据或检测到错误时,计数器会递增。我想看这些计数器,但我不想构建一个屏幕来执行此操作,因为它们用于调试。我只是假设这是任何IDE的基本功能

SHOCKED:似乎Visual Studio没有提供这个(我会考虑的)基本功能。对于那些似乎认为用解释语言无法做到这一点的人,请考虑这个思想实验。如果您快速按下Break All然后按Continue,那么您将刷新监视窗口 - 对吗?为什么Visual Studio不能将此作为单个Refresh Watch命令执行此操作,或者更好地允许此功能在用户指定的时间段内自动运行。没有调试写入,没有日志文件,没有在流中途停止程序并创建超时。我很震惊你不能这样做。它有点像没有断点。

5 个答案:

答案 0 :(得分:6)

在应用程序运行时,哪个IDE或开发环境实时显示Watch窗口中的变量值,而不必点击任何断点?

Visual Studio不提供此功能。为了在Watch窗口中获取更新的值,或在那里编辑项目,应用程序需要处于断点或调试。

答案 1 :(得分:5)

完成“break”以将程序控制权交给调试器后,您可以使用F10和F11等功能键“逐步”执行代码。在每个“步骤”期间,程序评估一个或多个语句;在每一步之后它停止(直到下一步),而当(仅在)停止时,你可以“观察”它的当前状态。

还有其他方法可以进入调试器(在程序停止时使用Watch窗口):其他方法可以设置'breakpoints',并使用'run to cursor'功能。


  

当然,但是停止正在主动接收或向其他进程,驱动程序等发送数据的程序会停止此通信并导致超时和其他问题。

这是真的。要观察值实时更改,我使用日志文件:

  • 向我的代码添加语句,这样当我更改变量的值时,我会向日志文件发出一个新行(显示更改的值)

  • 运行程序

  • 使用tail -f等实用程序观察添加到日志文件中的新行。

我从未见过具有您提及的功能的调试器。与您提到的功能最接近的(与您提到的功能不完全相同)是How to: Set a Data Breakpoint (Native Only)

答案 2 :(得分:2)

您在Visual Studio中无法尝试执行的操作。所有可变检查窗口(手表,当地人,汽车等......)都依赖于debugee过程处于中断状态以便运行。

对于我过去使用过的任何调试器来说都是如此。至少那些使用编译语言的人。

我很好奇你所指的IDE是什么?他们是否处理解释语言?

答案 3 :(得分:0)

确保您处于“Debug”构建状态,并且Microsoft Debugger作为服务运行,而不是阻止/禁用。

答案 4 :(得分:0)