Yah, in many of these cases there isn't any real way to wire up to the signal handlers for the application. Best example would be doing an automated smoke test of a freshly built kernel for and launching it in `qemu` and making certain it actually boots and gets to `init`. `qemu` supports the `gdbserver` protocol, so you can use the `gdb` client to connect to `qemu` and setup/run/step the kernel, and should the kernel have a bad day, it is possible to do some easy automation for inspecting the state of the kernel, kick out a dump, etc. From there, if the everything seems to work okay on the virtual target, then promote the image to a physical target and, again, automate that process.