недопустимый дескриптор исключения при отладке - PullRequest
3 голосов
/ 14 октября 2011

У меня появляется следующее сообщение, когда я нахожусь в режиме отладки в Visual Studio 2010 Unhandled exception at 0x76c5f9e2 in test.exe: 0xC0000008: An invalid handle was specified. Когда я запускаю это в обычном режиме, я не получаю эту ошибку.Отладчик останавливается в close.c на этой строке

CloseHandle( (HANDLE)_get_osfhandle(fh) ) )

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

Ответы [ 2 ]

4 голосов
/ 14 октября 2011

Не обрабатывайте это исключение, но избегайте ситуации, если вы передадите неверный дескриптор!

Редактировать:
В режиме отладки коддает подсказку, что что-то не так.Так что вы должны исправить эту ошибку, а не обрабатывать исключительные слова!

2 голосов
/ 05 июля 2012

У меня просто была такая же проблема.

Я проверил на предмет повреждения стека, повреждения дескриптора и т. Д. В конце концов я обнаружил, что не должен был звонить CloseHandle()!

Это дескриптор, возвращаемый FindFirstFile(), правильная функция удаления - FindClose(), а не CloseHandle().

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...