I have a daemon that hooks SIGHUP, SIGINT, and SIGTERM. They all direct the signals to call a signal_handler() function.
I was having an intermittent crash when the daemon was existing, so I ran the process in Xcode hoping to catch the problem. Unfortunately, I can't reproduce it. When I send the process a SIGTERM (kill -TERM <pid>), Xcode breaks in my run loop and says my process received a SIGTERM. Unexpected, but OK.
But then I click on the Continue button and ... nothing happens. The program goes right back to running normally, The signal_handler() function is never called.
Does anyone know how I can debug signals using the debugger, without the debugger intercepting it and "eating" the signal?