如何:使用命令行工具分析服务

更新:2007 年 11 月

服务是运行在操作系统后台的程序,对某些操作系统功能提供支持。示例包括 Telnet 服务和 ASP.NET 服务。不能在 Visual Studio 中运行服务,它必须在服务控制管理器中运行,因此不能像分析其他 Visual Studio 应用程序类型一样直接分析服务。

重要说明:

分析服务之前必须安装该服务。有关更多信息,请参见如何:安装和卸载服务

您可以通过使用 VSPerfCmd、VSInstr 和 VSPerfMon 命令行工具分析本机服务。若要分析托管服务,您必须执行设置公共语言运行库环境所需的其他步骤。下面的过程列出了您应该执行的过程。

使用取样分析托管服务

  1. 安装您的服务。有关更多信息,请参见如何:安装和卸载服务

  2. 打开命令行窗口。在命令提示符下,运行下列命令:

    c:\<path>VSPerfClrEnv /globalsampleon 
    

    这将设置分析托管服务必需的环境变量。

  3. 重新启动计算机。

  4. 使用服务控制管理器确保服务在安装以后会运行。有关更多信息,请参见 如何:启动服务

  5. 然后运行下面的命令:

    c:\<path>VSPerfCmd /start:sample /output:filename
    

    探查器以取样模式启动。/output 选项创建一个 .VSP 文件以存储性能数据。

    重要说明:

    您可能需要包括 /USER 选项,使客户端可以从指定帐户访问监视器。

  6. 然后运行下面的命令,附加进程:

    c:\<path>VSPerfCmd /attach:pid | name 
    

    /attach 选项使用进程标识符 (pid) 或进程名 (name) 来附加服务。

  7. 若要结束会话,请通过运行下面的命令分离进程:

    c:\<path>VSPerfCmd /detach:pid | name
    

    还可以在多服务进程中停止服务或承载服务的进程。

  8. 然后运行下面的命令,关闭探查器:

    c:\<path>VSPerfCmd /shutdown
    
  9. /shutdown 选项强制 VSPerfCmd 工具等待所监视的应用程序关闭,然后关闭 VSPerfMon.exe 并等待关闭结束。

  10. 然后使用下面的命令,移除分析托管服务所需的环境变量。

    C:\<path>VSPerfClrEnv /globaloff 
    
  11. 重新启动计算机。

使用检测分析托管服务

  1. 使用 VSInstr.exe 工具检测服务。有关信息,请参见 VSInstr

  2. 安装您的服务。有关更多信息,请参见如何:安装和卸载服务

    说明:

    服务应配置为“手动”。它不应自动启动。您将在步骤 6 中启动服务。

  3. 打开命令行窗口。在命令提示符下,运行下列命令:

    c:\<path>VSPerfClrEnv /globaltraceon 
    

    这将设置分析托管服务所需的环境变量。

  4. 重新启动计算机。

  5. 然后运行下面的命令:

    c:\<path>VSPerfCmd /start:trace /output:filename
    

    探查器将启动检测模式。/OUTPUT 选项创建一个 .VSP 文件以存储性能数据。

    重要说明:

    您可能需要包括 /USER 选项,使客户端可以从指定帐户访问监视器。

  6. 使用服务控制管理器确保服务在安装以后会运行。有关更多信息,请参见 如何:启动服务

    重要说明:

    当服务启动时,如果性能监视器正在运行,服务将附加到性能监视器。 如果当性能监视器启动时服务已经在运行,则错过了附加服务的机会。

  7. 若要结束检测,请停止服务。

  8. 然后运行下面的命令:

    c:\<path>VSPerfCmd /shutdown
    

    /shutdown 选项强制 VSPerfCmd 工具等待所监视的应用程序关闭,然后关闭 VSPerfMon.exe 并等待关闭结束。

  9. 然后使用下面的命令,移除分析托管服务所需的环境变量:

    c:\<path>VSPerfClrEnv /globaloff
    
  10. 重新启动计算机。