Есть ли инструменты, которые могут помочь найти условия гонки при тестировании многопоточного кода .net? Я ищу что-то с аналогичными возможностями для инструмента IBM ConTest для Java.Какие средства существуют для тестирования многопоточного кода .net?
ответ
Typemock Racer может быть то, что вы ищете, но я не использовал его - я только что вспомнил кое-что о тупики :)
Или этого: Deadlock Detector
Это announcement от Microsoft Research звучит, как они есть инструмент, который делает именно то, что я хочу. К сожалению, пока нет версии .net, но есть одна запланированная. Цитирую сайт:
ШАХМАТЫ представляет собой автоматизированное средство для поиска ошибок в многопоточных программ путем систематического изучения резьбовых графиков. Он находит ошибки, такие как данные-расы, взаимоблокировки, зависания и поврежденные данные, вызывающие повреждение Нарушения, которые чрезвычайно трудны для , найти с помощью текущих инструментов тестирования. После CHESS обнаруживает ошибку, он обеспечивает полностью повторяемое выполнение программы, приводящей к ошибке, поэтому очень помогает процессу отладки. Кроме того, CHESS предоставляет ценный и новое понятие испытательного покрытия , подходящее для многопоточных программ. ШАСС может использовать существующие параллельные тесты и поэтому их легко развернуть. И разработчики, и тестеры должны найти CHESS полезным.
Инструмент Microsoft еще не доступен (и может быть на некоторое время). – 2008-10-19 16:34:09
Это доступно сейчас, но не для VS2010 или VS2012. – Henrik 2012-03-05 13:32:51
Вы видели Debug Inspector (www.debuginspector.com)?
Это управляемые и неуправляемые тупики и охватывает как WaitForSingleObject и WaitForMultipleObjects и работает для XP и Vista,
Там отличный расширение WinDbg, написанная Стивом Джонсоном, названный sosex который имеет найти команду тупиковой. Вы можете найти его на , и вы можете подробнее узнать об этом здесь: http://www.stevestechspot.com/SOSEXANewDebuggingExtensionForManagedCode.aspx и здесь: http://www.stevestechspot.com/SOSEXUpdatedV11Available.aspx.
Обе ссылки были повреждены – Henrik 2012-03-05 13:32:17