我使用Kinect SDK在XNA中创建了一个程序。该程序在我的电脑和许多其他电脑中运行得非常好,但在我打开这个程序的一个系统中,它给了我以下错误:
Attempted to read or write protected memory. This is often an indication that other memory is corrupt.
程序停止,它在spritebatch.End()
中给出了错误消息。
我无法理解为什么它会给我这个错误信息。
我使用的系统有4GB Ram,而创建问题的系统有2GB RAM。两个系统都是CORE2 Duo。记忆是问题还是别的什么?
答案 0 :(得分:3)
是的,这可能是一个记忆问题。看看http://social.msdn.microsoft.com/Forums/en-US/71f134bd-d665-43b5-8c67-52c4d6ed4ed9/kinect-driver-problem?forum=kinectsdknuiapi中的答案。重新启动系统,停止所有不必要的进程(以最小化内存使用),然后再次尝试运行程序。
答案 1 :(得分:2)
我有这个问题。希望这可以帮助将来的某个人。我的会员项目(仅包含类)是为32位构建的,我的应用程序使用64位。确保两者都是32位并解决问题。
答案 2 :(得分:0)
对我来说就像一个魅力。
无论如何,解决方案是启用JIT优化。换句话说,在Visual Studio 2008中选择“工具”,然后选择“选项”。选择“Debugging”和“General”,找到“在模块加载时抑制JIT优化”的行。这样可以确保调试器和JIT编译的代码不会失去同步,因为JIT编译器是代码的超级优化器。这就行了。
答案 3 :(得分:0)
就我而言,我使用的是虚拟机(VM)。 谷歌搜索后我发现VM没有足够的RAM可用。 增加VM的可用RAM修复它。