首页 > 解决方案 > 无法调试 pid 11588 - 尝试设置进程的 DebugPort 或 ExceptionPort 但端口已存在

问题描述

我的 Windows 服务每隔一天就会崩溃一次。我的过程越来越大。所以我试图通过使用 CDB.exe 命令找到内存泄漏。【WinDBG命令行版】

我正在尝试定期附加和分离进程,因此我在管理员模式下执行以下命令以打印出超过 1000 个字节的顶部堆内存使用者。

  cdb -pn MyWindowsService.exe -c ".loadby sos clr; !dumpheap -stat -min 1000; qd"

我收到以下提示错误消息

尝试设置进程的 DebugPort 或 ExceptionPort,但进程中已存在端口或尝试设置文件的 CompletionPort,但文件中已设置端口或尝试设置 ALPC 端口的关联完成端口已经制作好了,但已经设置好了。”

它实际上是什么意思?

我也尝试过使用 WinDbg

在此处输入图像描述

它与调试诊断规则有关吗?如果是,我该如何解决?

这与从 VS 调试器切换到 WinDbg不同,因为在这里我试图解决特定问题,如果我们保持打开 Visual Studio

标签: memory-leaksclrwindbg

解决方案


如果进程已经在调试,通常会出现此问题。另一个调试器可以是 Visual Studio、ProcDump 或其他工具。

我能够通过关闭视觉工作室并独立运行可执行文件来解决它。


推荐阅读