计数函数调用

时间:2011-05-12 13:59:54

标签: c# .net

我想计算自应用程序启动以来执行以下方法的次数。我怎么能这样做?

System.Drawing.Graphics.FromHdcInternal(IntPtr hdc)
System.Drawing.BufferedGraphicsContext.CreateBuffer(IntPtr src, Int32 offsetX, Int32 offsetY, Int32 width, Int32 height)

3 个答案:

答案 0 :(得分:2)

我可以想到两种方式。一种是使用分析器,这可能是最简单的。

另一种方法是将调用包装在一个为你计算的函数中。查找和替换将完成剩下的工作。

private int invokeCount = 0;

public static Graphics FromHdcInternalWrapped(IntPtr hdc)
{
     invokeCount++;
     return Graphics.FromHdcInternal(hdc);
}

就个人而言,我会坚持使用探查器。

答案 1 :(得分:2)

AQtime没有任何困难。

答案 2 :(得分:1)

规范,最简单的方法可能是简单地使用分析器应用程序。就个人而言,我对jetBrains dotTrace有很好的体验,但还有更多经验。

基本上你所做的就是让探查器启动你的应用程序,它会跟踪代码中的所有方法调用。然后它会显示执行这些方法所花费的时间,以及它们被调用的次数。

假设您想要了解这一点的原因实际上是性能,我认为查看分析器是个好主意。您可以尝试通过对瓶颈所在位进行有根据的猜测来优化代码,但如果使用分析器,则可以实际测量。我们都知道,测量两次,切一次; - )