如何在 Visual Studio 中查找丢失的 glPopMatrix

如何在 Visual Studio 中查找丢失的 glPopMatrix

我有一个理论,根据这个理论,我遇到的错误是由于使用了 glPushMatrix 而没有匹配的 glPopMatrix 造成的。我的项目相当大,所以我希望能够轻松找到这些缺失的 glPopMatrix()。我想过使用正则表达式进行搜索,但似乎找不到如何找到我想要的东西(另外,Visual Studio 中的正则表达式与我习惯的(php)不完全相同,所以我有点迷茫。无论如何,有什么关于如何做到这一点的想法吗?

编辑:我正在使用 C++

答案1

修改代码来为您进行检查可能会更简单。

glPushMatrix创建设置glPopMatrix和取消设置标志的新版本。然后,如果您的新glPushMatrix版本在标志仍然设置的情况下被调用,您就知道您找到了调用你的罪魁祸首。

通过适当记录调用堆栈等,您应该能够找到罪魁祸首。

我做这种编程已经有一段时间了,你也没有说你使用的是什么语言,所以我不知道你是否能够直接覆盖这些方法,或者必须做一些巧妙的手段才能让它工作。

相关内容