小编Nor*_*rmD的帖子

Visual Studio Watch窗口显示为灰色?

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

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

对不起,如果这是一个菜鸟问题.

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

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

debugging visual-studio

10
推荐指数
2
解决办法
2万
查看次数

CPU时钟频率因而QueryPerformanceCounter错了吗?

我正在使用QueryPerformanceCounter来计算一些代码.当代码开始报告时间明显错误时,我感到震惊.要将QPC的结果转换为"实际"时间,您需要除以QueryPerformanceFrequency返回的频率,因此经过的时间为:

时间=(QPC.end - QPC.start)/ QPF

重启后,QPF频率从2.7 GHz变为4.1 GHz.我认为实际硬件频率没有改变,因为运行程序的挂钟时间没有变化,尽管使用QPC报告的时间确实发生了变化(下降了2.7/4.1).

MyComputer-> Properties显示:

英特尔(R)奔腾(R)4 CPU 2.80 GHz; 4.11 GHz; 1.99 GB的RAM; 物理地址扩展

除此之外,该系统似乎工作正常.

我将尝试重新启动以查看问题是否清除,但我担心这些关键性能计数器可能会在没有警告的情况下变为无效.

更新:

虽然我很欣赏答案,特别是链接,但我没有受影响的芯片组,也没有自己的CPU时钟.根据我的阅读,QPC和QPF基于PCI总线中的定时器,不受CPU时钟变化的影响.在我的情况下奇怪的是QPF报告的FREQUENCY变为不正确的值,并且在MyComputer - > Properties中也报告了这种变化的频率,我当然没有写.

重新启动修复了我的问题(QPF现在报告正确的频率),但我认为如果你打算使用QPC/QPF,你应该在信任它之前对另一个计时器进行验证.

timer

9
推荐指数
1
解决办法
1万
查看次数

你有多个.net控制台(如在Console.Writeline中)

在调试过程中使用多个控制台(不是多个监视器,我已经拥有)会很方便.我想象的是Console.WriteLine(1,String1),它将String1发送到一个控制台窗口1,Console.WriteLine(2,String2)将String2发送到控制台窗口2.

c# vb.net

5
推荐指数
3
解决办法
1万
查看次数

如何在VB中定义64位常量?

在Visual Basic中

Friend Const xxx As UInt64 = 400 * 365 * 24 * 60 * 60 ''// Number of secs in 400 years
Run Code Online (Sandbox Code Playgroud)

这失败了,错误

constant expression not representable in type integer
Run Code Online (Sandbox Code Playgroud)

问题是400*365*24*60*60大于2 ^ 32

我原以为通过将常量声明为UInt64,可以为其分配64位值

vb.net constants

2
推荐指数
1
解决办法
2367
查看次数

标签 统计

vb.net ×2

c# ×1

constants ×1

debugging ×1

timer ×1

visual-studio ×1