Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/319.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/performance/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# C语言中的性能跟踪#_C#_Performance_Logging_Mobile_Trace - Fatal编程技术网

C# C语言中的性能跟踪#

C# C语言中的性能跟踪#,c#,performance,logging,mobile,trace,C#,Performance,Logging,Mobile,Trace,我想跟踪c#mobile应用程序的性能,以便了解一些长时间运行的方法所需的时间。目标是了解方法级别的性能。这种跟踪将在运行时决定 第一个想法是维护一个全局变量“doWeHaveToTrace”,在每次调用一个潜在的可跟踪方法时检查它,并在该变量为真时跟踪它。在本例中,我可能会使用记录器或TraceListener将跟踪信息写入文件 但我认为这种机制相当繁重,因为每个方法中都必须检查一个变量,并且必须对记录器调用进行编码 我还考虑过方面编程(在before()和after()方法中插入跟踪代码),

我想跟踪c#mobile应用程序的性能,以便了解一些长时间运行的方法所需的时间。目标是了解方法级别的性能。这种跟踪将在运行时决定

第一个想法是维护一个全局变量“doWeHaveToTrace”,在每次调用一个潜在的可跟踪方法时检查它,并在该变量为真时跟踪它。在本例中,我可能会使用记录器或TraceListener将跟踪信息写入文件

但我认为这种机制相当繁重,因为每个方法中都必须检查一个变量,并且必须对记录器调用进行编码

我还考虑过方面编程(在
before()
after()
方法中插入跟踪代码),但我认为在这个项目中不允许方面编程


所以我想知道,有没有其他好的机制可以提供这样的性能跟踪?是否可以跟踪整个方法?是否决定在运行时停止或恢复跟踪?

不确定要跟踪什么,但如果要跟踪长时间运行的方法之间的时间,可能最好还是挂接到。这是一个

商业档案器将是另一个更简单的选择。

了解如何在.NET中使用(假设您使用的是.NET)。跟踪调试类将为您提供开发所需的所有运行时输出。然后,只需删除跟踪编译器指令,即可删除已部署应用程序中的所有调试/跟踪代码(以及相关的运行时开销)


您可以使用外部评测应用程序来进行性能和内存评测。请看这里(来自StackOverflow.com):

您可以在桌面计算机上,在IDE下运行它,并执行常规操作,比如计时和/或

你一定会发现事情需要时间,而且可能会加速