Me gustaría poder seguir solo la ejecución de un hilo durante la depuración. Uso un threadpool para que el depurador siga cambiando entre hilos y esto hace que la depuración sea muy incómoda.Cómo depurar solo un hilo en Visual Studio
de lectura:
consigo uno solución que es puntos de interrupción condicionales (basado en el nombre de la rosca). Sin embargo, no puedo decir "el hilo # 3" siempre será el que trate el caso interesante, así que tendría que cambiar la condición para cada ejecución. Demasiado trabajo.
Otra solución es utilizar la característica de congelación/descongelación para hacer que solo se ejecute mi hilo interesante. Sin embargo, esto hace que cierta información no esté disponible porque todos los hilos están en pausa.
Lo que estoy usando ahora es poner en ejecución el programa hasta que llegue a un punto de ruptura en el que estoy seguro de estar en el buen hilo. Luego pause todos los otros hilos de threadpool y trato de reanudar la ejecución. Si los programas parecen estar atascados, hago una pausa y descongelo el hilo actual.
La solución ideal sería encontrar el hilo correcto, marcarlo y luego decir a Visual Studio: "romper solo si el hilo actual está marcado".
¿Esto es posible?
Entonces, ¿cuál es el criterio para romper el hilo? – abatishchev
el criterio sería stop es el hilo marcado – kamaradclimber
Pruebe su código de forma aislada. Con pruebas unitarias, por ejemplo. Entonces solo tiene que depurar la interacción de subprocesos, el tipo de depuración en la que * no * desea congelar subprocesos. –