Инструменты, чтобы найти бокс в коде - PullRequest
7 голосов
/ 21 июня 2011

Справочная информация: Я занимаюсь разработкой для xbox и нахожусь на стадии оптимизации.Мне нужно сократить распределение объектов.Для начала нужно выяснить, где происходит (не) бокс.

Я очень плохо знаком с IL (в том смысле, что никогда не смотрел ни на что!) И хотел бы избежать запуска DLL через дизассемблер,ищет команду (un) box, а затем пытается выяснить, к какой строке кода она относится.

Вопрос: Существуют ли какие-либо инструменты, которые сообщают о таких вещах (где (не) бокс происходит) для меня?

РЕДАКТИРОВАТЬ: сделал запрос ниже в свой собственный вопрос , поскольку он довольно сильно отличается от этого.

Многие, многие, бонусные очки заспособ привязать дамп кучи GC обратно к строкам кода, где происходили создания объекта !!

Ответы [ 2 ]

5 голосов
/ 21 июня 2011

В этой статье MSDN Magazine подробно описано, как создать правило FxCop (Code Analysis), которое обнаруживает блокировку и распаковку и может представлять нарушения в качестве предупреждения. Эта статья немного на старой стороне, но вы должны быть в состоянии адаптировать ее к вашим потребностям.

4 голосов
/ 22 ноября 2012

Существует инструмент под названием BoxCop , который делает именно это.

Это не очень полезно при попытке интегрировать проверки для упаковки / распаковки в процесс сборки. Для этого вам понадобится какое-то правило для FxCop.

...