我正在研究 Kinect,偶尔 Kinect 会导致 Visual Studio 崩溃。
当我kinectSensor.Start()
在调试后调用该方法时会发生这种情况,我发现Kinect 已在另一个进程中使用。
但没有其他进程正在使用 Kinect! 它发生在早上启动我的机器并启动应用程序后的一次。但大多数情况下,当我启动 Kinect 应用程序时(在 VisualStudio 2010 中处于调试模式),我停止了应用程序,经过一些代码修改后,我重新启动了应用程序,那时它不起作用,我有上述异常和 2 秒后 Visual Studio 崩溃。
此外,我检查 Kinect 是否已经在运行,但事实并非如此(在调试期间低于 Kinect 传感器的状态):
最奇怪的是,有时它可以在几周内正常工作,然后每启动两/三次应用程序就会使这种情况持续两天。
我在这个问题上找到的唯一解决方案来自一个有非常相似问题的人(互联网上唯一一个?):Imad Elayyan
当我启动Process Explorer时,我发现了与 USB 端口处理完全相同的问题(如图所示),这是一个在我们关闭应用程序时不会终止的突变进程。
但他的解决方案并不是真正的长期解决方案:我必须手动杀死突变体并重新启动 VisualStudio。有时我必须在早上重新启动 VS 20 次......
有没有办法正确关闭 USB 端口的句柄(在代码中?),这样当我关闭应用程序时,它会终止该句柄并且不再使 VS 崩溃?
任何帮助将不胜感激,这真的让我很困惑,它让我发疯。
附加信息:
我正在使用SDK1.5 + Kinect for Windows,但SDK1.0 + Kinect XBox360也是如此
我已经尝试使用另一个 VS 实例来调试 VS。