【问题标题】:why can't I attach to my process?为什么我不能附加到我的进程?
【发布时间】:2011-12-15 14:08:11
【问题描述】:

我可以开始调试 (F5)。

如果我从 Ctrl+F5 开始,然后稍后再附加,我将无法。

程序名称显示为灰色。当我为程序选择行时,附加按钮被禁用。

我尝试过使用 Attach to "Automatic" 或选择 Managed 4.0 + Native。

我已尝试检查“显示所有用户的进程”和“显示所有会话中的进程”

我以管理员身份运行 Visual Studio。

有什么想法吗?

【问题讨论】:

  • 定义“无法”。是什么阻止了你?
  • 程序名称显示为灰色。当我为程序选择行时,附加按钮被禁用。
  • 你确定你是在调试模式而不是发布模式下运行吗?
  • 是的。我正在调试模式下运行。
  • @rdkleine 你不需要调试模式来调试。

标签: .net visual-studio debugging


【解决方案1】:

您可能会看到您的应用程序的 .vshost.exe 进程,该进程始终呈灰色显示。

查看进程列表并确保没有列出具有相同/相似名称的其他进程。

另请注意:如果这是一个控制台应用程序并且进程到达 Main 方法的末尾(控制台窗口会显示“按任意键继续......”),那么您可能不会看到列出的进程,因为它已经结束了。

【讨论】:

  • 我只看到一个应用程序实例。它是一个带有本机和托管代码的 Winforms 应用程序。它不是控制台应用程序。我仍然看到灰色的进程,这令人沮丧,因为我能够在调试器中启动程序。我只是无法启动程序,然后再附加到它(这很方便,因为混合模式调试可能会非常缓慢)。
  • 嗯,好的。您在可用进程列表中看到的进程是否以 .vshost.exe 结尾?
  • @Derek - 这只是一个健全性检查:不要使用 Ctrl+F5 组合键启动应用程序,而是转到 Debug 菜单并选择“Start without Debugging”,然后尝试附加到过程。你有同样的行为吗?如果它有效,那么问题可能很奇怪,比如键盘上的 Ctrl 键可能不起作用:)
【解决方案2】:

如果您使用 .vshost 文件来加快启动时间,并且您在没有调试的情况下启动,则无法附加,因为 .vshost 进程始终是调试器绑定到 Visual Studio 实例。

【讨论】:

  • 抱歉延迟回复。您是在谈论 ProgramName.vshost.exe.config 吗?还是实际运行 ProgramName.vshost.exe?在任务管理器中,我可以看到我正在运行 ProgramName.exe。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2014-10-10
  • 2021-11-07
  • 1970-01-01
  • 1970-01-01
  • 2020-05-11
相关资源
最近更新 更多