使用探查器命令行检测本机独立组件,并收集计时数据
本主题介绍如何使用 Visual Studio 命令行分析工具检测 C++、.exe 或 .dll 文件等本机组件并收集详细的计时数据。
要使用检测方法从组件收集详细计时数据,可使用 VSInstr.exe 工具生成该组件的受检测版本。 然后启动探查器。 在执行受检测组件时,会自动将计时数据收集到数据文件中。 在分析会话过程中可以暂停和恢复数据收集。
分析工具的路径是 Microsoft Visual Studio\version\Enterprise\Team Tools\DiagnosticsHub\Collector。
注意
若要使用探查器命令行工具,必须将工具路径添加到命令提示符窗口的 PATH 环境变量中,或将其添加到命令本身。
要结束分析会话,请关闭目标应用程序,然后显式关闭探查器。
启动分析会话
使用检测方法启动分析:
打开一个命令提示符窗口。
使用 VSInstr 工具生成目标应用程序的受检测版本。
启动探查器。 类型:
VSPerfCmd /start:trace /output:
OutputFile
[Options
]/start:trace 选项初始化探查器。
/output:
OutputFile
选项需要与 /start 一起使用。OutputFile
指定分析数据 (.vsp) 文件的名称和位置。可以将以下一个或多个选项与 /start:trace 选项一起使用。
选项 说明 /user:[ Domain
\]UserName
指定拥有所分析进程的帐户的域和用户名。 仅当运行进程的用户不是已登录用户时,才需要此选项。 进程所有者在 Windows 任务管理器的“进程”选项卡上的“用户名”列中列出 。 /crosssession 启用其他会话中的进程分析。 如果应用程序在其他会话中运行,则需要此选项。 会话标识符列于 Windows 任务管理器的“进程”选项卡上的“会话 ID”列中。 可以将 /CS 指定为 /crosssession 的缩写。 /globaloff 在暂停数据收集的情况下启动探查器。 使用 /globalon 可恢复分析。 /counter: Config
从 Config
中所指定的处理器性能计数器收集信息。 计数器信息将添加到在每个分析事件中收集的数据中。/wincounter: WinCounterPath
指定要在分析期间收集的 Windows 性能计数器。 /automark: Interval
仅与 /wincounter 一起使用。 指定两次 Windows 性能计数器收集事件相隔的毫秒数。 默认值为 500 毫秒。 /events: Config
指定要在分析期间收集的 Windows 事件跟踪 (ETW) 事件。 ETW 事件收集在单独的 (.etl) 文件中。 以典型方式启动目标应用程序。
控制数据收集
在目标应用程序运行时,可以通过使用 VSPerfCmd.exe 选项开始和停止向文件写入数据,从而控制数据收集。 通过控制数据收集,可以针对程序执行的特定部分(如启动或关闭应用程序)进行数据收集。
启动和停止数据收集:
以下选项对可启动和停止数据收集。 在单独的命令行上指定每个选项。 可多次打开和关闭数据收集。
选项 描述 /globalon /globaloff 启动 ( /globalon) 或停止 ( /globaloff) 所有进程的数据收集。 /processon: PID
/processoff:PID
启动 ( /processon) 或停止 ( /processoff) 由进程 ID ( PID
) 指定的进程的数据收集。/threadon: TID
[/threadoff]../profiling/threadon-and-threadoff.md) :TID
启动 ( /threadon) 或停止 ( /threadoff) 由线程 ID ( TID
) 指定的线程的数据收集。
结束分析会话
若要结束分析会话,请关闭正在运行受检测组件的应用程序,然后调用 VSPerfCmd/shutdown 选项来关闭探查器和分析数据文件。
结束分析会话:
关闭目标应用程序。
关闭探查器。 类型:
VSPerfCmd /shutdown
相关内容
反馈
https://aka.ms/ContentUserFeedback。
即将发布:在整个 2024 年,我们将逐步淘汰作为内容反馈机制的“GitHub 问题”,并将其取代为新的反馈系统。 有关详细信息,请参阅:提交和查看相关反馈