2008-10-14 8 views

Répondre

2

Cette announcement de Microsoft Research sonne comme ils ont un outil qui fait exactement ce que je veux. Malheureusement, il n'y a pas encore de version .net, mais il y en a une prévue. Pour citer le site:

CHESS est un outil automatisé pour trouver erreurs dans les logiciels multithread par exploration systématique des horaires de fil . Il trouve des erreurs, telles que données-courses, deadlocks, se bloque, et données-corruption induite accès violations, qui sont extrêmement difficiles à trouver avec les outils de test en cours. Une fois CHESS trouve une erreur, il fournit une exécution entièrement répétable du programme menant à l'erreur, ainsi aidant grandement le processus de débogage. En outre, CHESS fournit une précieuse et une nouvelle notion de couverture de test adapté aux programmes multithread. CHESS peut utiliser des tests existants et est donc facile à déployer. Les développeurs et les testeurs doivent trouver CHESS utile.

+0

L'outil de Microsoft n'est pas encore disponible (et pourrait l'être pour un certain temps). –

+0

Il est disponible maintenant, mais pas pour VS2010 ou VS2012 pour le moment. – Henrik

1

Avez-vous vu Debug Inspector (www.debuginspector.com)?

Il ne géré et non gérés et couvre les blocages à la fois WaitForSingleObject et WaitForMultipleObjects et travaille pour XP et Vista

1

Il y a une grande extension de windbg, écrit par Steve Johnson, appelé sosex qui a une commande de trouver une impasse. Vous pouvez le trouver au et vous pouvez en lire plus à ce sujet ici: http://www.stevestechspot.com/SOSEXANewDebuggingExtensionForManagedCode.aspx et ici: http://www.stevestechspot.com/SOSEXUpdatedV11Available.aspx.

+0

Il trouve juste des deadlocks d'exécution qui sont simples à trouver de toute façon; parce que si vous en avez un, votre programme s'arrête complètement et vous n'avez plus qu'à regarder toutes les piles. – Henrik

Questions connexes