c++ - 如何调试 OpenGL 程序?

标签 c++ opengl segmentation-fault opengl-3

我试图找出在我的简单程序中调用 glDrawArrays 时(如 gdb 所说)导致段错误的原因。

当我直接使用 OpenGl 调用时,程序运行良好。 但是当我将它们包装成两个类(正在构建的 vao 和 vbo)时,程序会出现段错误。

所以,在我的包装器中,我确实禁用了某些东西或设置了一些我不应该做的东西。

我的问题是,如何获得一些有助于查明问题根源的诊断信息?

我正在寻找类似于 glGetShaderiv 所做的事情,但是对于 vao 和 vbo s,它会告诉我是否有……比如说……错误地解除了缓冲区的绑定(bind)。

[我不会在这里发布代码,但是如果你们中有人想通过测试段错误示例来贡献一些时间,here is a tar.gz of the source .你需要 sfml-2.0rc、glew 和 gcc>=4.6 的工作库。]

最佳答案

试试像 GDEBugger 这样的程序:http://www.gremedy.com/

它可以让您轻松检查 OpenGL 的状态并为您提供良好的诊断。

关于c++ - 如何调试 OpenGL 程序?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11149026/

相关文章:

c++ - 为什么在 C++ 中声明枚举时使用 typedef?

c++ - Qt 如何防止将项目从应用程序删除到 Windows 文件资源管理器

C++ 电话号码字母拨号程序 - 语法错别字?还是非 ASCII 字符?

c++ - (学生)面试问题 - 机器人实验室编程

c++ - 使用 C++ 和 OpenGL 显示图像的正确方法

c - malloc 中的段错误

c指针段错误

c++ - 在编译时检查类构造函数签名

opengl - 是否可以在 uint32 格式纹理上累积片段编号?

c - pthread_join() 期间的段错误