能否使用Visual Studio性能分析工具分析.NET子进程?
VS CPU性能分析器追踪父进程启动的子进程可行吗?
可行,但默认不会自动捕获子进程的CPU事件,需要手动调整配置:
- 启动
Debug > Performance Profiler > CPU Usage分析会话后,在分析器的详细信息面板里找到进程过滤选项,勾选目标子进程(比如你的Child.exe),就能看到它的CPU事件 - 要是子进程启动速度快,怕错过数据,可以在启动分析前,在性能分析器的配置页面里勾选自动附加到所有子进程选项,这样父进程启动的子进程会被自动纳入分析范围
VS的CPU分析器默认只追踪你选中的目标进程(也就是父进程),不会主动关联它启动的子进程,所以得手动调整设置才能看到子进程的性能数据。
你的父进程启动子进程的示例代码:
using System.Diagnostics; namespace Parent { internal class Program { static void Main(string[] args) { var proc = Process.Start("\"C:\\Users\\user\\source\\repos\\ProfileChild\\Child\\bin\\Debug\\net8.0\\Child.exe\""); if (proc != null) proc.WaitForExit(); } } }
内容的提问来源于stack exchange,提问作者Russel85
相关产品推荐
相关产品推荐

