简体   繁体   English

鼠标光标在Windows LabView中冻结

[英]Mouse cursor freezes in Windows LabView

I'm developing an application in LabView on Windows. 我正在Windows的LabView中开发应用程序。 Starting a week ago, one test machine (a ToughBook, no less) was freezing up completely once every couple days: no mouse cursor, taskbar clock frozen. 从一周前开始,一台测试机(一台ToughBook,不少)每两天完全冻结一次:没有鼠标光标,任务栏时钟被冻结。 So yesterday it was retired. 所以昨天已经退休了。 But just now, I've seen it on another machine, also a laptop. 但就在现在,我已经在另一台机器上看到了它,也是笔记本电脑。

This is a pretty uncommon failure mode for PC's. 对于PC而言,这是一种非常罕见的故障模式。 I don't know much about Windows, but I'd expect it to indicate that the software stopped running so completely and suddenly that the kernel was unable to panic. 我对Windows不太了解,但是我希望它能指示该软件停止运行得如此彻底,突然间内核无法崩溃。

Is this an accurate assessment? 这是准确的评估吗? Where do I begin to debug this problem? 我从哪里开始调试此问题? What controls the cursor in the Windows architecture — is it all kernel mode or is there a window server that might be getting choked by something? 是什么控制Windows体系结构中的游标-是全内核模式还是有可能被某些东西阻塞的窗口服务器? Would an unstable third-party hardware driver cause this, rather than a blue screen? 不稳定的第三方硬件驱动程序会导致此问题,而不是导致蓝屏吗?

EDIT: I should add that the freezes don't necessarily happen while the code is running. 编辑:我应该补充一点,代码运行时冻结不一定会发生。

I'd certainly consider hardware and/or drivers as a possibility - perhaps you could say what hardware is involved? 我当然会考虑使用硬件和/或驱动程序-也许您可以说涉及到什么硬件?

You could test this by adding a 'debug mode' for each piece of hardware your LabVIEW code talks to, where you would use eg a case structure to skip the actual I/O calls and return dummy data to the rest of the application. 您可以通过为LabVIEW代码所涉及的每个硬件添加“调试模式”来进行测试,在该示例中,您将使用案例结构来跳过实际的I / O调用,并将虚拟数据返回给应用程序的其余部分。 Make sure it's a similar amount of data to what the real device returns. 确保与真实设备返回的数据量相似。 You'll find this much easier if you've modularised your code into subVI's with clearly defined functions! 如果将代码模块化为具有明确定义功能的subVI,您会发现这容易得多! If disabling I/O calls to a particular bit of hardware stops the freezes it would suggest the problem might be with that hardware or its driver. 如果禁用对特定硬件位的I / O调用会停止冻结,则表明问题可能出在该硬件或其驱动程序上。

Hard to say what the problem is. 很难说是什么问题。 Base on the symptoms I would check for a possible memory leak (see if your LabVIEW app memory usage is growing overtime using "windows task manager"). 根据症状,我将检查是否可能发生内存泄漏(使用“ Windows任务管理器”查看LabVIEW应用程序的内存使用是否随着时间的推移而增长)。

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM