我有一个VB应用程序,我需要在它运行时进行监控。我在Watch窗口中添加了一些变量,但是当应用程序运行时,Watch窗口是灰色的。我发现查看变量值的唯一方法是使用Debug -〉Break All,但是这会停止程序。
我用过其他的IDE,它们允许监控活动变量。这在VS中可能吗?
如果这是一个菜鸟问题,请原谅。
更新:需要说明的是,我的应用程序正在与一台实验室设备进行通信,并且随着数据的发送或接收,或者检测到错误,计数器会递增。我希望观察这些计数器,但我不想构建一个屏幕来执行此操作,因为它们是用于调试的。我只是假设这是任何IDE中的基本功能
震惊:Visual Studio似乎不提供此功能对于那些似乎认为用解释语言这是不可能的人,请考虑这个思想实验。如果您快速按下Break All,然后按下Continue,则会刷新监 windows 口-对吗?为什么不能'tVisualStudio将此操作作为单个“刷新监视”命令来执行,或者更好地允许此函数在用户指定的时间段自动运行。没有调试写入,没有日志文件,不要在中途停止你的程序并创建超时。我只是很震惊你不能这样做。这有点像没有断点。
6条答案
按热度按时间7dl7o3gd1#
哪个IDE或开发环境会在应用程序执行时,在[监看式- windows 中即时显示变数的值,而不需要碰到任何中断点?
Visual Studio不提供此功能。若要在[监看式a windows 中取得更新的值,或编辑其中的项目,应用程序必须位于中断点或两柴中。
b4qexyjb2#
在您完成“break”将程序的控制权交给调试器之后,您可以使用功能键(如F10和F11)“step”遍历代码。在每个“step”期间,程序将对一个或多个语句求值;在每一步之后,它停止(直到下一步),并且当(仅当)它停止时,您可以“观察”它的当前状态。
还有其他方法可以中断调试工具(在程式停止时使用[监看式] windows ):其他方法如设置“断点”,并使用“运行到光标”功能。
当然,但是停止一个正在主动接收或发送数据到某个其他进程、驱动程序等的程序会停止这种通信,并导致超时和其他问题。
确实如此。为了实时观察值的变化,我使用了一个日志文件:
tail -f
之类的实用程序观察添加到日志文件中的新行。我从来没有看到过一个调试器有你提到的功能。最接近你提到的功能(但并不完全是你提到的功能)是How to: Set a Data Breakpoint (Native Only)。
nimxete23#
您尝试执行的操作在Visual Studio中是不可能的。所有变量检查窗口(监视、局部变量、自动变量等...)都依赖于处于中断状态的被调试进程才能运行。
我过去使用过的任何调试器都是如此,至少那些使用编译语言的调试器是如此。
我很好奇你指的是什么IDE?他们处理解释语言吗?
xoefb8l84#
确保您处于“调试”版本中,并且Microsoft调试器作为服务运行,并且未被阻止/禁用。
uidvcgyl5#
这将有助于您:How to trace and debug in Visual C++ .NET and in Visual C++ 2005
xfb7svmp6#
我88岁的记忆还记得Visual Studio的一个旧版本允许在调试时使用监 windows 口。