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