gpt4 book ai didi

.net - 我正在寻找递归分析工具

转载 作者:行者123 更新时间:2023-12-04 02:16:03 24 4
gpt4 key购买 nike

关闭。这个问题不满足Stack Overflow guidelines .它目前不接受答案。












想改善这个问题吗?更新问题,使其成为 on-topic对于堆栈溢出。

7年前关闭。




Improve this question




这个周末我遇到了一个问题,方法 1 调用了方法 2,方法 2 调用了捕获异常的方法 3,而在异常处理方法 1 中又被调用了......

M1 -> M2 -> M3 -> M1 ....

一旦问题发生,问题就变得明显且易于修复。

有谁知道在 .NET 应用程序中检测此类问题的工具?

最佳答案

为了正确地做到这一点,您需要在 C# 应用程序上创建一个全局调用图,使用 C# 语义和相当于指向分析的内容进行计算,可以说包括它调用的库。使用这样的调用图,您可以枚举其中的循环,这些循环将是要检查的候选对象。

我不知道从哪里可以得到一个现成的 C# 计算这种全局调用图的工具。

您可以使用简单的代码扫描技术来近似这一点。对于每个方法 M,提取它包含的明显调用集作为标识符 I。大多数情况下,它们将显示为类似 的语法。 identifier( 在这一步之后,你有 M_i -> I。你可以把它构建为一个(非常保守的)基本调用图,然后计算传递闭包。有了这个,你就有了一个带循环的近似调用图,然后你可以进行您的循环分析。这将是通过名称传递的大量方法,以及其他情况,但它可能已经足够了。

关于.net - 我正在寻找递归分析工具,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5381653/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com