我试图找出在我的简单程序中调用 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/