У меня довольно стандартное приложение C++/QT, которое отлично работает при отладке и выпуске на моем ПК разработки. При тестировании версии релиза на чистом ПК она работает, но часть функциональности (показывая видео через USB-соединение) просто не запускается. Что ж, я видел это раньше, и моя стандартная техника заключается в добавлении отладочной информации в сборку релиза, настройке удаленной отладки и просмотре. К моему большому удивлению, он отлично работает как сборка релизов с информацией об отладке (.pdb), которую я никогда раньше не видел.
использование зависимого ходок не вызывает проблем с любыми зависимостями. Используя профайлер, который является частью Dependency Walker, он также отлично работает.
У меня закончились методы отладки, и единственное, что я могу придумать, это добавить ящики сообщений в разных местах, которые в многопоточном приложении выглядят не очень хорошо.
Есть ли способ отладки, который может помочь мне найти эту проблему? Мы используем VS2008 и Qt 4.7.1.
Уточните свои окна сообщений - используйте файл журнала.
Из вашего описания мне кажется, что может возникнуть какая-то проблема состояния гонки/времени, которая будет решена, когда какая-то нить или другое замедляется, если что-то будет замечено. Или добавив информацию об отладке в двоичный файл.
Используя файл журнала с отметками времени, вы должны иметь возможность отслеживать, когда это происходит.
Я думаю, что регистрация - ваш друг. Если у вас несколько потоков, вы можете записать каждый поток в другой файл журнала.