У меня есть теория, согласно которой ошибки, с которыми я сталкиваюсь, связаны с использованием glPushMatrix без соответствующего glPopMatrix. Мой проект довольно большой, поэтому я хотел бы иметь возможность легко найти эти недостающие glPopMatrix (). Я думал об использовании поиска с использованием регулярных выражений, но я не могу понять, как найти то, что я хочу (плюс, регулярное выражение в Visual Studio не совсем то, что я привык (php), поэтому я Я немного потерян. В любом случае, есть идеи, как это сделать?
редактировать: я использую C ++
Ответы:
Может быть проще изменить код, чтобы выполнить проверку за вас.
Создайте новые версии
glPushMatrix
иglPopMatrix
установите и снимите флажок. Затем, если ваш новыйglPushMatrix
вызывается с установленным флагом, вы знаете, что нашли вызов после вашего преступника.С соответствующей регистрацией стеков вызовов и т. Д. Вы сможете найти виновника.
Прошло много времени с тех пор, как я занимался этим типом программирования, и вы не говорите, какой язык вы используете, поэтому я не знаю, сможете ли вы переопределить методы напрямую или вам понадобятся некоторые jiggery-pokery, чтобы получить это на работу.
источник
#define glPushMatrix(); glPushMatrix();cout<<"PUSH!"<<endl;
Если это так, и если это работает (пока не могу проверить), это блестящая идея!