En general, es imposible, pero hay algunas cosas que pueden funcionar para escenarios específicos.
Solución básica Como ya se mencionó, la repetición de la secuencia: Freeze, Reanudar, (espera), Pausa, deshielo, Paso debe resultar en el comportamiento que usted describe, dando otros temas la posibilidad de correr en segundo plano mientras que el hilo objetivo se detiene.
Este enfoque tiene al menos dos cuestiones:
- Es bastante tedioso
- Sus hilos fondo se suspenderá en cualquier momento se detuvo el depurador.
Mejoras
El primer problema puede ser abordado mediante un procedimiento diferente: Emitir una Thread.Sleep(10000)
en la ventana Inmediato, manteniendo efectivamente el hilo centrado ocupada, mientras que los otros hilos se ejecutan normalmente. Incluso podría vincular ese comando a una macro.
El segundo problema solo puede abordarse mediante un enfoque que no necesita pausar el depurador. ¿Pero cómo examinaríamos el estado cuando la sesión no está en pausa? Ahí es donde entra IntelliTrace, pero es posible que deba crear custom IntelliTrace events. El inconveniente de este enfoque es que no puede modificar manualmente el estado en pleno vuelo.
1 buena pregunta. Me gustaría conocerme a mí mismo ... –
Descargo de responsabilidad :-) no se ha comprobado la documentación, pero la forma en que se comporta (VS 2008 sin duda) es que un descanso detendrá todos los hilos en el proceso, y cada vez que paso, todos los hilos tendrán la oportunidad de reanudar hasta el fin del paso Luego selecciona el hilo por el que desea pasar. –
Kev, supongo que tienes razón. Me pregunto cuál podría ser la razón para no implementar este escenario ... –