OS: Mac OSX 10.14.6
GDB version: 8.2.50.20190226-git
g++ version: 11.0.0 (clang-1100.0.33.16)
El problema: Cada vez que limpio y reconstruyo mi sencilla aplicación "Hello World" en c++ (usando g++) y luego intento depurarla usando gdb, éste se cuelga indefinidamente. Pero lo más extraño viene a continuación: si voy al monitor de actividad y mato el proceso de gdb que se está ejecutando, y luego vuelvo a ejecutar gdb (matándolo si se vuelve a colgar), finalmente gdb funcionará y podré recorrer mi código. He seguido los pasos descritos aquí para firmar correctamente el código de gdb, así que ese no parece ser el problema. Expertos en Mac, ¿alguna idea de por qué reconstruir un ejecutable C++ impediría a GDB ser capaz de depurarlo hasta que GDB haya sido ejecutado y matado unas cuantas veces?
Como referencia, aquí están los comandos de terminal en bruto que genera el Makefile:
$ rm -f -r ./build/Debug
$ rm -rf ./dist/Debug
$ mkdir -p ./build/Debug/GNU-MacOSX
$ mkdir -p ./dist/Debug/GNU-MacOSX
$ g++ -c -g -MMD -MP -MF "build/Debug/GNU-MacOSX/welcome.o.d" -o build/Debug/GNU-MacOSX/welcome.o welcome.cc
$ g++ -o dist/Debug/GNU-MacOSX/welcome_1 build/Debug/GNU-MacOSX/welcome.o
Y esto es lo que ocurre cuando ejecuto gdb:
Starting program: /Users/matthewboyle/NetBeansProjects/Welcome_1/dist/Debug/GNU-MacOSX/welcome_1
[New Thread 0xf03 of process 33622]
[New Thread 0xd03 of process 33622]
(It just hangs after this point, I have to kill the process)