我的c++代码使用QueueUserWorkItem来调用一个函数,该函数来自一个调用winsock accept的包装器类。这在调试中工作得很好,如果我使用Dependency Walker中的Start Profile选项运行发布可执行文件,它也会工作。但是,如果我正常运行release可执行文件,它会在调用QueueUserWorkItem时崩溃。一旦它调用了这个函数,应用程序就会退出。执行永远不会到达我传递给QueueUserWorkItem的函数,但是函数指针是有效的。
有没有人知道任何可能导致QueueUserWorkItem在发布模式下崩溃但不能进行调试的原因?
发布于 2011-03-30 03:36:43
有没有人知道任何可能导致
<random function>在发布模式下崩溃而不是调试的事情?
是的,缓冲区溢出。Debug build在它们周围放置了可以覆盖的守卫,但在发布模式下,您可能会覆盖重要的内存。
https://stackoverflow.com/questions/5477872
复制相似问题