提问者:小点点

得到一个奇怪的错误代码-Java返回:-1073740791


首先,让我说这段代码几个月前在49FPS左右运行得非常好。从那以后,发生了一件重大变化,那就是我从视窗7“升级”到10。

我确实有一个很好的系统:

  • i7-3770K处理器(有点过时,但仍然不错)
  • 32GBRAM
  • GTX 970 4GB显卡
  • 几个SSD

我已经研究了这个问题几个小时,并提出了一些人们尝试过的解决方案。有趣的是,大部分集中在1月下旬至2月17日上旬。

  • 升级到最新的NVIDIA驱动程序(或降级)
  • 确保Main指向正确的类
  • 验证所有环境变量是否设置正确
  • 验证所需的所有库都已正确导入

这些都没有解决我的问题。

关于我的代码和代码风格的一些细节。这个项目是我多年来一直致力于使用LWJGL 2.9.3库通过Java和OpenGL创建一个完整的3D引擎的大规模工作的一部分。我的代码结构的方式是,我将每个概念组织成单独的库,然后将其导入到我正在工作的任何项目中。

例如,我有一个名为“基础”的库,它处理打开OpenGL窗口本身、从外部文件加载设置以及跟踪定时增量和FPS。另一个示例库是“Text2D”,它处理向屏幕显示文本。

这样,我可以更有效地跟踪错误。每个库都有自己的测试和诊断类来验证库是否按预期工作。通常许多不同的库都依赖于某些特定的其他库,因此可以进一步独立验证此测试。

问题:

我遇到麻烦的那个叫做“实体”,它处理将3D对象放入世界中。正如我之前所说,我以前有过这段代码,不知道哪里出了问题。

代码分为设置和测试部分。设置代码生成一个对象网格,供我四处查看,并与阳光源等基础知识一起移动。测试代码只是为每个对象添加一个小旋转,以便它们原地旋转。

现在,当我的测试代码运行时,我在显示窗口中看到生成的对象很好,在加载时填充新的对象和纹理。我平均每帧2-4秒。(是的,秒/帧)

从43秒到92秒,生成大约12-15帧后,它会失败并给我以下错误消息:

C:\Users\Zaanzabar\AppData\Local\NetBeans\Cache\8.2\executor-snippets\run.xml:53: Java returned: -1073740791
BUILD FAILED (total time: 43 seconds)

通过插入大量输出消息并找出哪些行紧跟在某些消息之后,我已经找到了导致速度放缓的特定代码行。

当我将纹理加载到程序中时,一切都平稳快速地运行,直到它到达该行:

glGenerateMipmap(GL_TEXTURE_2D);

请注意,这些不是大纹理,我认为最大的是PNG格式的512x512。我使用SlickUtil将它们加载到OpenGL中。

一旦我完成加载纹理,它就会在该行暂停大约相同的时间:

Display.update();

然后最终崩溃。这两行代码都是openGL特性,不是我代码的一部分,所以我在从这里看哪里时遇到了难题。

有人知道如何解决这个问题吗?


共1个答案

匿名用户

这实际上是一个NetBeans问题,它基本上是说run. xml中存在问题

C:\用户\Za anz a bar\App Data\Local\Net Beans\Cache\8.2\执行器-片段\run. xml

既然你提到你已经更新了你的窗口,我猜元数据一定已经被删除了,所以Netbean基本上找不到你的主类,因此抛出了错误,你确实提到一切都很好,所以它不可能是依赖问题。

这谈到了同样的问题Netbean没有运行我的项目

解决方案
尝试在命令行
上运行代码

javac YourMain.java <br>
java Yourmain

或者换个IDE

如果这工作正常,那么这肯定是NetBean问题:)
您可以直接运行主类,或者通过转到项目的属性选项卡来提及项目文件夹中的主类

希望有帮助:)