Существует ли инструмент, который анализирует код.NET и находит условия состязания?
У меня есть немного кода, который имеет общедоступное статическое свойство, которое получает или создает частное статическое поле. Это также имеет общедоступный статический метод, который устанавливает это поле в NULL (... да, я знаю!..)
Как нет никаких блокировок вокруг ни одного из этих методов, это - безопасная ставка, что things'll идут ужасно неправильно в будущем. Мне нужен инструмент, это рекурсивно пройдет вещи, которые называют любой из этих методов и видят, было ли что-нибудь порождено на другом потоке.
Я ищу инструмент или возможно сценарий nDepend SQL (если это возможно).
Вероятно, вы ищете один из этих:
ПРИМЕЧАНИЕ : Это ответ 2010 г. Как и все ответы на рекомендации, рекомендации со временем меняются. Возможно, сейчас есть и другие продукты, CHESS, который был проектом Microsoft Research Labs, возможно, превратился в конечный продукт или был полностью списан. Пожалуйста, отнеситесь к этому ответу с недоверием и проведите новое исследование, чтобы определить, какие продукты подходят сейчас.
Jinx сделает это во время выполнения (не статически), но возможно, стоит посмотреть.
Вы смотрели Муравьев красных ворот ? Я не уверен, что он сделает все, что вам нужно, но это хороший продукт, чтобы: