2008-10-14 7 views

Odpowiedz

2

Ten announcement z Microsoft Research brzmi jak mają narzędzie, które robi dokładnie to, co chcę. Niestety nie ma jeszcze wersji .net, ale jest jedna planowana. Cytując stronę:

SZACHY to zautomatyzowane narzędzie do wyszukiwania błędów w wielowątkowego oprogramowania przez systematycznej eksploracji nici harmonogramów. Znajduje błędy, takie jak: wyścigi danych, zakleszczenia, zawieszenie i naruszenia danych związane z uszkodzeniem danych , które są niezwykle trudne do znalezienia znaleźć za pomocą obecnych narzędzi do testowania. Po tym jak CHESS znajdzie błąd, zapewnia w pełni powtarzalne wykonanie programu , co znacznie ułatwia proces debugowania. Dodatkowo, CHESS zapewnia cenne i nowatorskie pojęcie pokrycia testowego odpowiednie dla programów wielowątkowych. CHESS może wykorzystywać istniejące testy równoległe i dlatego jest łatwy do wdrożenia. Zarówno programiści, jak i testerzy powinni znaleźć przydatny CHESS.

+0

Narzędzie Microsoftu nie jest jeszcze dostępne (i może być przez pewien czas). –

+0

Jest już dostępny, ale nie dla VS2010 lub VS2012. – Henrik

1

Czy widziałeś Debug Inspector (www.debuginspector.com)?

To nie udało i niezarządzani zakleszczenia i obejmuje zarówno WaitForSingleObject i WaitForMultipleObjects i działa na XP i Vista

1

tam świetne rozszerzenie windbg, napisany przez Steve Johnson, nazywany sosex który ma polecenie znalezieniem zakleszczenia. Można go znaleźć pod adresem i przeczytać więcej na ten temat tutaj: http://www.stevestechspot.com/SOSEXANewDebuggingExtensionForManagedCode.aspx i tutaj: http://www.stevestechspot.com/SOSEXUpdatedV11Available.aspx.

+0

Po prostu znajduje zaklócenia w czasie wykonywania, które i tak można łatwo znaleźć; ponieważ jeśli masz taki program, który zatrzymuje się całkowicie i po prostu rzucasz okiem na wszystkie stosy. – Henrik