c++ - configurar - configure toolchain clion
Cómo establecer follow-fork-mode como hijo en depurador usando CMake (1)
Tengo el sistema Linux, y el programa de escritura uso Clion IDE que usa CMake . Tengo una parte de mi programa en el que me gustaría depurar el proceso secundario. He leído algunos temas de este foro, pero todavía no sé cómo ni dónde puedo activar esta función:
¿Cómo depuro el proceso secundario después de fork () en gdb?
Simplemente CMAKE_CXX_FLAGS_DEBUG
configurar el flag CMAKE_CXX_FLAGS_DEBUG
como set follow-fork-mode child
CMAKE_CXX_FLAGS_DEBUG
set follow-fork-mode child
pero CMake me dio error. Debajo de la captura de pantalla con todos los indicadores que se utilizan para compilar y dbug mi programa. Entonces, ¿qué y dónde debo establecer esta función?
..::EDITAR::..
Creo que es una buena forma. Creo que tu sugerencia fue útil, pero tengo un próximo problema. Después de usar Tus instrucciones, mi código se cuelga en línea
pid_t newProcessForClient = fork();
La declaración es:
(gdb) establecer el niño follow-fork-mode Niño [Nuevo proceso 31667] advertencia: La carga automática de archivo "/lib32/libthread_db-1.0.so" ha sido rechazada por su `auto-load safe-path ''establecido en" $ debugdir: $ datadir / auto-load ". advertencia: no se puede encontrar libthread_db haciendo coincidir la biblioteca de hilos de inferior, la depuración de subprocesos no estará disponible. [Cambiando al proceso 31667] Continuando con la señal SIGABRT.
Programa terminado con señal SIGABRT, abortado. El programa ya no existe.
La configuración de depuración no tiene nada que ver con cmake. CMAKE_CXX_FLAGS_DEBUG establece los indicadores de depuración para el compilador. Sin embargo, debe indicarle al hijo el depurador de set-fork-mode . Para hacer esto, necesita los siguientes pasos:
Establezca un punto de interrupción al comienzo de su programa (es decir, el programa principal, no el programa secundario)
Inicie el programa en el depurador.
- Vaya a la consola del depurador (pestaña con la etiqueta gdb ) in clion e introduzca set child follow-fork-mode y configure auto-load safe-path /
- Continuar depurando
El comando set auto-load safe-path / se supone que conmuta las restricciones de carga automática de acuerdo con la documentación de gdb.