Держите отладочные операторы или ящики сообщений там, где, по вашему мнению, происходит сбой кода. Сбой произойдет между двумя сообщениями, и это поможет вам найти неисправный код, если он не был изменен слишком сильно.
Также закомментируйте блоки кода, пока сбой не прекратится. Продолжайте комментировать обратно, пока сбой не вернется. То, что вы в последний раз прокомментировали, должно вызывать сбой, прямо или косвенно.
Оба эти метода полезны для общей отладки, и половина вашей работы уже выполнена, если вы можете надежно воспроизвести сбой.
Я не давал конкретных советов по отладке оптимизаций компилятора, потому что маловероятно, что это вызвано сбоем. Оптимизация, как правило, проверяется очень надежно, чтобы гарантировать, что она никоим образом не изменяет функцию или семантику кода.