Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/.net/21.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# 如何比较.NET中的执行路径?_C#_.net_Execution - Fatal编程技术网

C# 如何比较.NET中的执行路径?

C# 如何比较.NET中的执行路径?,c#,.net,execution,C#,.net,Execution,我正在调试要查找的.NET Framework源代码。我有两个类似的代码输入,一个显示bug,另一个没有。然而,按照代码路径进入.NET源代码是相当复杂的 我想要的是一个可以对两个输入执行的工具,并比较结果,以查看采用了什么代码路径,内部值如何不同,等等 这可用于.NET吗?您可以试试。它可以向您显示代码覆盖率信息,这可能有助于您确定错误发生时采用了哪些分支。您可以尝试忽略计时。他们提供30天的免费试用下载。正如米奇所建议的,也许可以查看一个剖析器。它将为您提供所有的方法调用,以便您可以看到正在

我正在调试要查找的.NET Framework源代码。我有两个类似的代码输入,一个显示bug,另一个没有。然而,按照代码路径进入.NET源代码是相当复杂的

我想要的是一个可以对两个输入执行的工具,并比较结果,以查看采用了什么代码路径,内部值如何不同,等等


这可用于.NET吗?

您可以试试。它可以向您显示代码覆盖率信息,这可能有助于您确定错误发生时采用了哪些分支。

您可以尝试忽略计时。他们提供30天的免费试用下载。

正如米奇所建议的,也许可以查看一个剖析器。它将为您提供所有的方法调用,以便您可以看到正在进行的一切。

将向您显示如果您单独运行测试用例,将执行哪些代码

如果您要求它这样做,它还将计算每种情况下覆盖代码之间的差异。这种差异将是一个测试执行的代码,而另一个测试不执行。很可能这就是你的问题所在

它不会帮助您获取.NET framework的源代码。

请尝试使用探查器:

  • (免费)

  • (14天试验)

  • (10天试验)

如果您有企业版Visual Studio 2008(或其他版本)

试试免费的——它几乎完全符合你的要求

它将“跟踪代码”注入到您的应用程序中,在运行时它将准确地告诉您执行了哪些方法以及参数是什么。有一些复杂的方法可以微调要跟踪的方法,因为“all”通常太多了,但是如果您真的想跟踪,只需单击一次,就可以打开所有方法的跟踪

请查看此处的主要功能:

-在这里找到它:


编辑:对不起,我错过了关于必须深入研究实际的.NETFramework代码的部分。“跟踪器”无法轻松做到这一点。

@Mitch:不,我几乎从未使用过,所以我对它们的功能不是很熟悉。这能给我提供这样的细节吗?我对内存或性能信息不感兴趣。@Mark:我只是尝试一下,但它似乎没有找到.NET Framework的源代码。我需要能够看到微软的代码在做什么。除非我错过了一个选择?