windows-server-2003 – 是什么原因导致winsock 10055错误?我该
我正在调查一系列自定义应用程序(其中一些我们控制,有些不是)的winsock 10055错误的一些问题,并希望得到一些关于解决问题的技术的建议.
No buffer space available. An operation on a socket could not be performed because the system lacked sufficient buffer space or because a queue was full. 从研究来看,非分页池和端口似乎是唯一可能导致此错误的资源.是否有其他资源可能导致10055错误? 目前,我们在应用程序上设置了perfmon计数器,在大多数情况下,非页面缓冲池使用率看起来很低.打开TCP连接看起来很低,我不知道另一种监控端口的方法. 由于它只发生在生产中,我们无法使用更多的侵入性计数器.虽然听到其他解决方案仍然很有趣.我相信其他人可以使用这些信息. 是否有一些其他工具或程序可以推荐用于诊断哪个应用程序导致问题? 更新: 该平台是带有/ 3G开关的Windows Server 2003 x86.作为参考,x86通常具有256mb的NPP存储,/ 3G将其降低到128mb.通常,您希望避免此配置以避免NPP问题. (reference) 我们有一个申请来源.我写了相当精细的测试工具,试图重现这种行为无济于事. 如上所述,问题只发生在生产中.因此,避免了分组监视.我们目前有性能计数器设置,可以监控NPP,线程,网络流量等.由于perfmon的间隔是1秒,你可以在该窗口内进出微爆.然而,有一些主观证据表明这不是问题. 基本情况是连接的另一端表示由于10055错误导致代码关闭连接. NPP(和一般性能)在断开连接之前看起来稳定,这表明其他资源是原因. 更新: 我还要重申原始问题与诊断有关,而不是解决方案.关于导致10055错误的原因,我仍然没有明确的答案.检查驱动程序和硬件并重新安装操作系统很棒,但它回避了原来的问题.
根据谷歌的搜索,除其他外,拉姆短缺也可能导致这种情况.我通过Google观察到的以下一些错误情况是基本操作系统几乎无法访问RAM的低内存问题.我的猜测是,在缺乏ram的虚拟环境中,可以轻松地重新创建相同类型的问题.
更基本的故障排除问题很简单 – 您的生产环境有何不同? 您是否在Windows 2003 x64或Windows 2008中测试过该应用程序? 在问题的第二部分.. 以下工具可用于故障排除和修复Winsock错误. 嗅探器: http://www.wireshark.org/ 垫片: http://www.sstinc.com/winsock.html http://www.win-tech.com/html/socktspy.htm 用于跟踪系统状态和资源的通用工具 http://technet.microsoft.com/en-us/sysinternals/bb896653.aspx http://technet.microsoft.com/en-us/sysinternals/bb896645 用于检测API调用的工具 http://www.apimonitor.com/ http://www.nektra.com/products/spystudio-api-monitor/ 调试器 http://www.ollydbg.de/ http://www.immunitysec.com/products-immdbg.shtml 反转工具或反编译器 http://www.hex-rays.com/products/ida/index.shtml http://www.hex-rays.com/products/decompiler/index.shtml 您的标准IDE和编译器 http://www.microsoft.com/visualstudio/en-us 以下是其他工具的列表: http://www.sockets.com/devtools.htm 其他参考文献: https://stackoverflow.com/questions/8118870/howto-debug-winsock-api-calls http://brandon.fuller.name/archives/2007/01/24/19.44.29/ http://tangentsoft.net/< ----可能是最好的一个 (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
- windows-8 – 屏幕关闭时,WinRT应用程序可以继续
- .net – 使用Microsoft ODBC for Oracle连接到Or
- 将Windows 8主题仪表板应用于我在ASP.NET中设计的
- .net – 如何使用Mono.Cecil检查.pdb和.dll文件是
- 如何在Windows下以虚拟机方式在CLI模式下运行ema
- windows-xp – 找到瓶颈:Windows XP上的磁盘I /
- windows-phone-7 – WP7 RTM仿真器在右侧显示fra
- 图像处理---《在图片上打印文字 windows+GDI+Tru
- windows – 如何重命名脱机文件夹引用的服务器?
- 如何在Windows Mobile 6下将Flash游戏嵌入到Wind