在代码中查找装箱的工具

时间:2011-06-20 20:11:27

标签: c# .net garbage-collection boxing unboxing

背景:我正在为xbox开发并处于启动阶段。我需要减少对象分配。一个开始的地方是找出(un)拳击发生的地方。

我对IL很新(因为我从未查看过任何内容!)并且希望避免通过反汇编程序运行DLL,寻找(un)box命令然后尝试找出代码行它涉及到。

问题:是否有任何工具可以报告此类事件(发生(联合国)拳击事件)?

编辑:在下面提出请求进入自己的question,因为它与此版本截然不同。

将GC堆转储绑定到对象创建发生的代码行的方法有很多很多奖励点!

2 个答案:

答案 0 :(得分:5)

MSDN Magazine article详细说明了如何创建检测装箱和拆箱的FxCop(代码分析)规则,并将违规行为作为警告。这篇文章有点偏旧,但你应该能够根据自己的需要进行调整。

答案 1 :(得分:4)

有一个名为BoxCop的工具就是这样做的。

尝试将装箱/拆箱检查集成到构建过程中时,它并没有用。为此你需要一些FxCop规则。