Мы столкнулись с некоторыми проблемами с статическим инициализационным порядком фиаско, и я ищу способы расчесывать много кода, чтобы найти возможные вхождения. Любые предложения о том, как это сделать эффективно?
Изменить: я получаю хорошие ответы на вопрос о том, как решить проблему статического инициализации, но это не мой вопрос. Я хотел бы знать, как найти объекты, которые подвержены этой проблеме. На данный момент ответ Эвана кажется лучшим в этом отношении; Я не думаю, что мы можем использовать valgrind, но у нас могут быть инструменты анализа памяти, которые могли бы выполнять аналогичную функцию. Это будет ловить проблемы только там, где порядок инициализации неверен для данной сборки, и порядок может измениться с каждой сборкой. Возможно, есть инструмент статического анализа, который поймал бы это. Наша платформа - это компилятор IBM XLC/С++, работающий в AIX.