У меня здесь проблема типа "Schroedinger Cat" - моя программа (на самом деле тестовый набор для моей программы, но программа тем не менее) сбой, но только при построении в режиме выпуска и только при запуске из командной строки. Через отладку пещерного человека (т.е. Неприятные сообщения printf() повсюду) я определил метод тестирования, где происходит сбой кода, но, к сожалению, фактический сбой, похоже, происходит в некотором деструкторе, поскольку последние сообщения трассировки, которые я вижу, находятся в другие деструкторы, которые выполняются чисто.
Когда я пытаюсь запустить эту программу внутри Visual Studio, она не сбой. То же самое происходит при запуске из WinDbg.exe. Сбой возникает только при запуске из командной строки. Это происходит под Windows Vista, кстати, к сожалению, у меня нет доступа к машине XP прямо сейчас, чтобы протестировать.
Было бы очень приятно, если бы я мог заставить Windows распечатывать трассировку стека или что-то другое, чем просто завершение программы, как будто она вышла чисто. Кто-нибудь имеет какие-либо советы относительно того, как я мог бы получить более значимую информацию здесь и, надеюсь, исправить эту ошибку?
Изменить: проблема действительно была вызвана массивом out-of-bounds, который я больше описываю в этом сообщении. Спасибо всем за помощь в поиске этой проблемы!