Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/powerbi/2.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#_Instrumentation_Trace_Roslyn - Fatal编程技术网

C#仪表

C#仪表,c#,instrumentation,trace,roslyn,C#,Instrumentation,Trace,Roslyn,对C#代码进行插装的最简单方法是什么?所谓插装,我指的是插入我自己的代码片段,以便在执行过程中收集一些动态信息 例如(星表示一些不重要的代码): 对于(inti=0;i您可以使用如下工具: -塞西尔 -重构工人 -MBEL -RAIL您有Visual Studio Professional吗?它为您执行插入指令的构建。它还执行采样,这不太麻烦,但也不太准确。我忘了提到的是,我想自动执行。现在,我获取程序的源代码,插入指令(如上所述),编译并运行它,运行时我收集数据(每个步骤都是自动化的,所以输入

对C#代码进行插装的最简单方法是什么?所谓插装,我指的是插入我自己的代码片段,以便在执行过程中收集一些动态信息

例如(星表示一些不重要的代码):


对于(inti=0;i您可以使用如下工具:
-塞西尔
-重构工人
-MBEL

-RAIL

您有Visual Studio Professional吗?它为您执行插入指令的构建。它还执行采样,这不太麻烦,但也不太准确。我忘了提到的是,我想自动执行。现在,我获取程序的源代码,插入指令(如上所述),编译并运行它,运行时我收集数据(每个步骤都是自动化的,所以输入是源代码,输出是数据)因此,使用VS并不是一个很好的选择…如果您想在运行时在IL级别动态地插入代码,您可以使用ICLRProfiling API实现这一点:@Ivan我的观点是,如果您只是收集信息,例如在各种方法中花费了多少时间以及访问了多少特定方法或属性,那么Visual Studio可以自动为您执行此操作,而无需更改任何代码。@Matthew我还想收集所有参数和类似数据,并将其存储起来,然后使用它进行计算。我也不能制作一个程序,可以插入任何代码并输出某些内容,或者像在其他程序中使用程序一样使用它?
for (int i=0; i<s.Length-2; ++i) {
  if (*)
    s = s.Substring(1, s.Length-2);
}