Ошибка развертывания программы - PullRequest
0 голосов
/ 08 июня 2009

Проект, над которым работала моя команда, достиг точки, когда нам нужно развернуть его на компьютерах без установленной среды разработки (Visual Studio 2005). Сначала мы исправили проблемы с зависимостями, но у нас все еще есть проблемы.

Теперь, когда программа установки завершена, наш проект застревает где-то перед входом в WinMain. Он занимает всего 13 МБ ОЗУ, но занимает 50% тактов процессора.

Есть ли какие-либо предложения относительно того, как отладить эту проблему?

Редактировать: Уточнение - это проект C ++.

Ответы [ 3 ]

2 голосов
/ 09 июня 2009

Возможно ли зависание при инициализации некоторой глобальной переменной? Это происходит до WinMain, и из конструктора глобальной переменной можно запустить любой код. Также взгляните на стек занятого потока, используя Process Explorer (убедитесь, что вы развернули PBD, чтобы получить значимую трассировку стека). Трассировка стека должна прояснить, где находится этот поток.

0 голосов
/ 09 июня 2009

Если у вас работает Vista или Windows 7, вы можете создать дамп памяти из диспетчера задач (щелкните правой кнопкой мыши и выберите создать файл дампа), а затем перенесите его на свой компьютер разработчика, загрузите символы, и он покажет вам, где была программа в это время.

0 голосов
/ 08 июня 2009

Возможно, вам придется прибегнуть к старой отладке - выводу операторов печати на консоль, которые указывают, какая часть приложения была успешно выполнена. Без IDE, установленной на целевой машине, вариантов отладки на самом деле не так много.

...