更新:2007 年 11 月
服务是运行在操作系统后台的程序,对某些操作系统功能提供支持。示例包括 Telnet 服务和 ASP.NET 服务。不能在 Visual Studio 中运行服务,它必须在服务控制管理器中运行,因此不能像分析其他 Visual Studio 应用程序类型一样直接分析服务。
| .gif) 重要说明: | 
|---|
| 分析服务之前必须安装该服务。有关更多信息,请参见如何:安装和卸载服务。 | 
您可以通过使用 VSPerfCmd、VSInstr 和 VSPerfMon 命令行工具分析本机服务。若要分析托管服务,您必须执行设置公共语言运行库环境所需的其他步骤。下面的过程列出了您应该执行的过程。
使用取样分析托管服务
- 安装您的服务。有关更多信息,请参见如何:安装和卸载服务。 
- 打开命令行窗口。在命令提示符下,运行下列命令: - c:\<path>VSPerfClrEnv /globalsampleon- 这将设置分析托管服务必需的环境变量。 
- 重新启动计算机。 
- 使用服务控制管理器确保服务在安装以后会运行。有关更多信息,请参见 如何:启动服务。 
- 然后运行下面的命令: - c:\<path>VSPerfCmd /start:sample /output:filename- 探查器以取样模式启动。/output 选项创建一个 .VSP 文件以存储性能数据。 .gif) 重要说明: 重要说明:- 您可能需要包括 /USER 选项,使客户端可以从指定帐户访问监视器。 
- 然后运行下面的命令,附加进程: - c:\<path>VSPerfCmd /attach:pid | name- /attach 选项使用进程标识符 (pid) 或进程名 (name) 来附加服务。 
- 若要结束会话,请通过运行下面的命令分离进程: - c:\<path>VSPerfCmd /detach:pid | name- 还可以在多服务进程中停止服务或承载服务的进程。 
- 然后运行下面的命令,关闭探查器: - c:\<path>VSPerfCmd /shutdown
- /shutdown 选项强制 VSPerfCmd 工具等待所监视的应用程序关闭,然后关闭 VSPerfMon.exe 并等待关闭结束。 
- 然后使用下面的命令,移除分析托管服务所需的环境变量。 - C:\<path>VSPerfClrEnv /globaloff
- 重新启动计算机。 
使用检测分析托管服务
- 使用 VSInstr.exe 工具检测服务。有关信息,请参见 VSInstr。 
- 安装您的服务。有关更多信息,请参见如何:安装和卸载服务。 .gif) 说明: 说明:- 服务应配置为“手动”。它不应自动启动。您将在步骤 6 中启动服务。 
- 打开命令行窗口。在命令提示符下,运行下列命令: - c:\<path>VSPerfClrEnv /globaltraceon- 这将设置分析托管服务所需的环境变量。 
- 重新启动计算机。 
- 然后运行下面的命令: - c:\<path>VSPerfCmd /start:trace /output:filename- 探查器将启动检测模式。/OUTPUT 选项创建一个 .VSP 文件以存储性能数据。 .gif) 重要说明: 重要说明:- 您可能需要包括 /USER 选项,使客户端可以从指定帐户访问监视器。 
- 使用服务控制管理器确保服务在安装以后会运行。有关更多信息,请参见 如何:启动服务。 .gif) 重要说明: 重要说明:- 当服务启动时,如果性能监视器正在运行,服务将附加到性能监视器。 如果当性能监视器启动时服务已经在运行,则错过了附加服务的机会。 
- 若要结束检测,请停止服务。 
- 然后运行下面的命令: - c:\<path>VSPerfCmd /shutdown- /shutdown 选项强制 VSPerfCmd 工具等待所监视的应用程序关闭,然后关闭 VSPerfMon.exe 并等待关闭结束。 
- 然后使用下面的命令,移除分析托管服务所需的环境变量: - c:\<path>VSPerfClrEnv /globaloff
- 重新启动计算机。