Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > C/C++: Системное программирование и WinAPI > The thread 'Win32 Thread' has exited with code 1


Автор: ksili 2.2.2009, 08:26
У меня программа сканирует папку (папки) в поисках файлов. Если находит, то читает из них чего ей надо, в частности вытаскивает иконку и сохраняет её в PNG. При выполнении программы из-под MS VS 2005 в output'е появляется много строк типа
Цитата

The thread 'Win32 Thread' (0xee8) has exited with code 1 (0x1).

с разными адресами, но код выхода всегда - 1.
При этом приложение у меня сделано как однопоточное. Отследил, что сообщение появляется на строке 
Код

GdiplusShutdown(gdiplusToken);

Это завершение работы с GDI+ после того как с иконкой сделано все что надо. 

Мне непонятно, забить на эти сообщения, или это признак какой-то ошибки? Есть подозрение, что в приложении есть утечки памяти, из-за чего она падает при сканировании большого кол-ва папок и файлов.

Автор: Earnest 2.2.2009, 11:34
В огороде бузина, а в Киеве дядька. Вот, примерно, такое впечатление.
Забивать не надо, любые смутные места, оставленные позади - это потенциальные мины замедленного действия. Нужно разобраться и убедиться, что все ок. Например, в отладчике ты можешь посмотреть на потоки, созданные программой,  в любой момент, и что кто из них делает. Поскольку появление вывода в Output сложно на самом деле связать с конкретным потоком - если писателей много, сообщения будут весьма хаотичными...
Возможные утечки памяти и падение программы - это вообще из разных опер; оно может быть и связано, но совершенно не факт. Проще всего отловить причину падения - ведь оно, видимо регулярное, как только папок-файлов достаточно много.

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)