10

Microsoft 说明说明以下内容

在 Visual Studio 中,从“调试”菜单中选择“附加到进程”。

出现“进程”对话框。

单击显示系统进程。

在可用进程部分中,单击您的服务的进程,然后单击附加。

但是,我没有看到“显示系统进程”。选项。我已尝试检查其他选项,但我的服务未显示在列表中。

在此处输入图像描述

是的,我已经安装并启动了服务,并且可以在服务管理器中看到它。

我也知道无法调试 onstart。但是,我有一个连续的循环运行。

4

6 回答 6

17

您必须执行以下操作:

  1. 在 Visual Studio 管理员模式下打开您的解决方案。
  2. 确保您的服务正在运行。
  3. 打开“附加到进程窗口”
  4. 确保选中两个复选框(所有用户,所有会话)。
  5. 在列表中找到可执行文件的名称。

如果上述方法不起作用,您将需要提供一些有关您的设置的其他详细信息。:-)

于 2012-10-18T19:45:07.817 回答
9

您可以在服务中的某个位置添加,例如在 OnStart 方法中此代码:

#if DEBUG
    System.Diagnostics.Debugger.Launch();
#endif

在服务启动时,您将获得一个提示对话框来调试过程。不要忘记在 Debug 模式下构建并在生产中切换到 Release

于 2012-10-18T19:43:09.380 回答
0

实际上,要让程序获得机器上每个用户的进程列表,该程序必须具有管理权限。确保您使用相应的帐户启动 Visual Studio。

于 2012-10-18T17:50:18.907 回答
0

确保选择的代码类型设置正确。您可以通过单击“附加到:”旁边的[选择...]按钮来管理它们。在您附加的图像中,您已将其设置为“自动:本机代码”。尝试一些其他设置。 注意:更改设置后按[Refresh]按钮以更新显示的进程列表。

于 2013-12-16T06:43:24.437 回答
0

服务的名称可能与进程的名称不同。进程的名字大概就是服务exe文件的名字。您可以在任务管理器或 Windows 服务与项目中进行检查。(出现在“附加进程”窗口中的名称是进程的名称而不是服务的名称)

于 2019-07-28T04:51:10.467 回答
0

默认情况下,未在您的帐户下运行的进程将被隐藏,这是服务默认运行的方式,除非您将它们设置为使用自定义用户运行。

确保选中所有用户的显示进程: 在此处输入图像描述

于 2020-12-23T20:17:33.227 回答