我有一个运行在.Net框架4上的应用程序,我的应用程序运行托管和非托管代码。在非托管代码中,使用UDP套接字。当应用程序从Visual Studio运行时,一切正常,但当它自己运行时,它通常会冻结。我看到了Windows XP SP3和Windows 7 SP1上的行为。当我将调试器附加到应用程序并暂停时,我可以看到很多很多线程都停留在ntdll.dll中的相同内存地址处。反汇编时,执行的netdll.dll命令是“ret”。如何解决ntdll.dll中的冻结(或死锁)?
这是否为任何人敲响了钟声?
似乎有以前过类似的问题,比如这里报告,并将其与UDP: http://social.msdn.microsoft.com/Forums/en-US/netfxnetcom/thread/1b54b2f2-6e7c-405b-bdda-62197ac8a287 没有答案都曾经给。
我还发现一个旧的修补程序的一个类似的问题,但根据微软只适用于Windows NT 4
任何帮助,将不胜感激。
阻塞或非阻塞模式?以前的错误代码? – 2011-03-14 15:07:05