gpt4 book ai didi

c# - 当 "break all"没有响应时,如何调试无响应的 .Net 服务?

转载 作者:太空宇宙 更新时间:2023-11-03 13:25:19 26 4
gpt4 key购买 nike

我们有一个消耗大量内存的 WCF 服务应用程序(请参阅我今天的另一张票:Server is leaking memory; but process looks fine)。

在突然间大量使用 Windows 服务应用程序后,整个服务崩溃了。在这一刻:

  • 日志(WCF-Trace/服务器数据库日志)确实显示事件,但没有线索。
  • 内存偏高,但无内存溢出异常Server is leaking memory; but process looks fine
  • 打开的连接数;就在“崩溃”之前:10 - 20内存转储显示 8 个线程,没有有趣的堆栈跟踪。这些只是小堆栈,没有任何用户代码(仅在 Microsoft-symbols 中调用)

可以做:

  • 附加远程调试器;
  • 连接到 WCF 列出的端口;

不能做:

  • 远程调试器;打破一切不回应
  • 附加 SciTechMemoryProfiler(异常:0x80007002)
  • 响应WCF的任何调用;

内存仍在使用中,但服务器完全没有响应。

最佳答案

感谢阅读这张票。

我们找到了解决方案。我们使用 WinDebug 分析了转储文件,并在转储中发现了一个函数。我们不知道这是运气还是 .Net 中的 Windows 服务 的预期行为,但从那里我们能够重现该问题。

感谢大家的阅读,希望您能通过这个“解决方案”取得进步。

关于c# - 当 "break all"没有响应时,如何调试无响应的 .Net 服务?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22612611/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com