2011-03-15 5 views
6

He estado trabajando en un programa multiproceso recientemente que tiene invariantes de bloqueo extraordinariamente complejas. Tenía la esperanza de verificar que no hubiera bloqueos o razas posibles en el programa, pero una prueba unitaria típica podría no mostrar esto porque los tiempos del hilo podrían funcionar de una manera que hace que la prueba pase aunque exista un error. en el código.¿Herramienta para estropear el tiempo del hilo?

Tenía curiosidad por saber si hay una herramienta para complicar tres tiempos de manera que permita que una prueba se ejecute varias veces, cada vez con diferentes subprocesos obteniendo diferentes intervalos de tiempo en diferentes órdenes. ¿Existe tal herramienta? ¿O hay otra buena herramienta que podría facilitar la depuración?

Este programa está escrito en C, pero responderé en cualquier idioma, ya que tengo curiosidad sobre lo que hay allí, incluso si no es directamente aplicable aquí.

Respuesta

4

Echa un vistazo Helgrind una herramienta construida en Valgrind. Parece ser bastante exigente con las versiones de gcc con las que trabaja, pero vale la pena echarle un vistazo.

+0

Este es un excelente enlace; ¡Gracias por compartirlo! – templatetypedef

Cuestiones relacionadas