sé la respuesta a esto, lo estoy poniendo aquí para que otros puedan ver queLa depuración multihebra Eclipse CDT no es óptima: ¿cómo se ejecutan subprocesos exclusivamente?
Si utiliza Eclipse CDT, es probable que entender que el eclipse no es un depurador, es sólo una aplicación front final, específicamente a GDB. Entonces, al depurar programas C++, en realidad solo está usando GDB de una manera más cómoda. Si alguna vez tiene que depurar un programa multiproceso en eclipse CDT, se dará cuenta de que las cosas se vuelven agitadas rápidamente porque cuando llega a un punto de interrupción, todos los hilos se detienen, y cuando uno intenta ejecutar una sola línea en un hilo específico, también se ejecuta los otros hilos. Para que funcione correctamente, los hilos deben poder ejecutarse de manera arbitraria y exclusiva, de modo que cuando el programador ejecuta una sola línea, solo ejecute el hilo específico.
Por lo tanto, de forma predeterminada, la configuración de gdb de forma predeterminada deja el "bloqueo del planificador" desactivado. Si depura las aplicaciones multiproceso, comprenderá que debe estar activado en GDB para lograr el comportamiento deseado. ¿Cómo se puede ejecutar este comando:
set scheduler-locking on
en GDB dentro de Eclipse CDT?
¿Cómo ejecutas exactamente el script GDB desde dentro de Eclipse? – rbaleksandar