You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

无需逐行调试,如何获取方法执行耗时?求Visual Studio及替代工具

如何不逐行调试获取方法执行耗时?

你需要在不逐行调试的前提下,获知目标方法的总执行耗时,同时想了解Visual Studio或其他工具是否能满足需求(因代码量庞大,逐行调试效率太低)。简化代码示例如下:

调用代码:

Foo foo = new ();
foo.Method_1(); // 执行耗时约1秒
foo.Method_2(); // 执行耗时约2秒
foo.Method_3(); // 执行耗时约3秒

实现代码:

public class Foo
{
    public void Method_1()
    {
        Thread.Sleep(1000);
    }
    
    public void Method_2()
    {
        Thread.Sleep(2000);
    }
    
    public void Method_3()
    {
        Thread.Sleep(3000);
    }
}

以下是无需逐行调试的工具方案:

Visual Studio内置方案

1. 性能探查器(Performance Profiler)

这是最直接的内置工具,无需修改代码就能分析方法耗时:

  • 打开Visual Studio,点击顶部菜单的「调试」->「性能探查器」(或按快捷键Alt+F2)
  • 在弹出的窗口中选择「CPU使用率」,点击「开始」运行程序
  • 程序运行结束后,会生成详细的性能报告,你可以在报告中找到Foo类下每个方法的执行时间、调用次数,以及总耗时,完全不需要逐行调试。

2. 手动代码计时(无需调试)

如果只是快速统计总耗时或单个方法耗时,可以用.NET自带的Stopwatch类,不用进入调试模式,直接运行程序就能看到结果:

using System.Diagnostics;

var stopwatch = Stopwatch.StartNew();
Foo foo = new ();
foo.Method_1();
foo.Method_2();
foo.Method_3();
stopwatch.Stop();
Console.WriteLine($"总执行耗时:{stopwatch.ElapsedMilliseconds} 毫秒");

运行程序后,控制台会直接输出总耗时,适合快速验证。

第三方工具方案

1. dotTrace

JetBrains出品的性能分析工具,支持可视化展示方法调用链和每个方法的执行时间,只需运行程序并启动分析,就能得到精准的耗时数据,无需调试。

2. BenchmarkDotNet

专门用于.NET基准测试的库,能生成精确的性能报告(包括平均耗时、分配内存等),只需给目标方法加上特性配置,运行后就能得到专业的性能统计,适合需要精准分析的场景。

内容的提问来源于stack exchange,提问作者Learner

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.24 17:12:37