Аналитический инструмент C#/.NET для нахождения условий/мертвых блокировок гонки

Существует ли инструмент, который анализирует код.NET и находит условия состязания?

У меня есть немного кода, который имеет общедоступное статическое свойство, которое получает или создает частное статическое поле. Это также имеет общедоступный статический метод, который устанавливает это поле в NULL (... да, я знаю!..)

Как нет никаких блокировок вокруг ни одного из этих методов, это - безопасная ставка, что things'll идут ужасно неправильно в будущем. Мне нужен инструмент, это рекурсивно пройдет вещи, которые называют любой из этих методов и видят, было ли что-нибудь порождено на другом потоке.

Я ищу инструмент или возможно сценарий nDepend SQL (если это возможно).

40
задан Steve Dunn 4 March 2010 в 14:01
поделиться

4 ответа

Вероятно, вы ищете один из этих:


ПРИМЕЧАНИЕ : Это ответ 2010 г. Как и все ответы на рекомендации, рекомендации со временем меняются. Возможно, сейчас есть и другие продукты, CHESS, который был проектом Microsoft Research Labs, возможно, превратился в конечный продукт или был полностью списан. Пожалуйста, отнеситесь к этому ответу с недоверием и проведите новое исследование, чтобы определить, какие продукты подходят сейчас.

20
ответ дан 27 November 2019 в 01:56
поделиться

Jinx сделает это во время выполнения (не статически), но возможно, стоит посмотреть.

4
ответ дан 27 November 2019 в 01:56
поделиться

Вы можете проверить ШАХМАТЫ .

3
ответ дан 27 November 2019 в 01:56
поделиться

Вы смотрели Муравьев красных ворот ? Я не уверен, что он сделает все, что вам нужно, но это хороший продукт, чтобы:

  • Выявить узкие места в производительности за считанные минуты
  • Оптимизировать производительность приложения .NET
  • Развернуть до медленных строк кода с помощью построчного уровня тайминги
  • Профилировать aspx, ASP.NET, код C # и приложения VB.NET
0
ответ дан 27 November 2019 в 01:56
поделиться
Другие вопросы по тегам:

Похожие вопросы: