Windows QueueUserWorkItem C ++ Проблема режима выпуска - PullRequest
0 голосов
/ 29 марта 2011

У меня есть код C ++, который использует QueueUserWorkItem для вызова функции, которую принимает класс-оболочка, вызывающий winsock.Это отлично работает при отладке, также работает, если я запускаю исполняемый файл релиза, используя опцию Start Profile из Dependency Walker.Однако, если я запускаю исполняемый файл релиза нормально, он вылетает при вызове QueueUserWorkItem.Как только она вызывает эту функцию, приложение просто закрывается.Выполнение никогда не достигает функции, которую я передаю в QueueUserWorkItem, однако указатель функции действителен.

Кто-нибудь знает что-нибудь, что может вызвать сбой QueueUserWorkItem в режиме выпуска, но не отладку?

1 Ответ

1 голос
/ 29 марта 2011

Кто-нибудь знает что-нибудь, что может вызвать <random function> сбой в режиме выпуска, но не отладку?

Да, переполнение буфера. В отладочной сборке установлены защитные элементы, которые вы можете перезаписать, но в режиме Release вы, вероятно, перезаписываете важную память.

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