我有一個運行在.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