我有我的应用程序(VC MFC)使用启用了Pageheap的gflags运行来跟踪页堆损坏。CSocket ::在我的MFC应用程序中创建抛出异常
现在,应用程序已经崩溃,它显示了这个错误,我无法解释这些行(除有资源inavailablity的感觉)
任何人都可以扔在究竟是什么,才造成原因的光应用程序崩溃?
(信息:应用程序是一个多线程的一个约500线程中运行,在一个多 - 处理器的机器)
kernel32!RaiseException+53
msvcrt!_CxxThrowException+36
mfc42u!AfxThrowResourceException+19
mfc42u!AfxRegisterWndClass+ab
mfc42u!CAsyncSocket::AttachHandle+5c
mfc42u!CAsyncSocket::Socket+25
mfc42u!CAsyncSocket::Create+14
是的页面堆需要更多的内存,但我们想要的是堆腐败注入点。 如果我们让我们的appln在这个加载的条件下运行,那么应用程序会崩溃。 这里是另一个崩溃点,它在这个特定位置坠毁的很多实例,只要我们在高端机器上运行应用程序(8核心和4 GB RAM) mfc42u!CFixedAlloc :: Alloc + 5c mfc42u! CString :: AllocBuffer + 25 mfc42u!CString :: CString + 3e WP_Communications_Server!CWPGenericService :: AddToMessageLog + b9 任何线索?我们被困在这个问题超过2周。 – buddingspacer 2009-07-20 11:14:57
您是否需要Full Pageheap,或者您可以使用Normal来尝试每个http://support.microsoft.com/kb/286470? 由于堆已损坏,它可能会在任何地方崩溃。你从来没有回答过我的问题 - 在测试过程中是否有机会减少运行的线程以节省资源?或者当你有500个线程运行时,行为只会上升吗? – 2009-07-21 07:10:49