我有一个用C ++编写的应用程序,我最近为SIGABRT安装了一个信号处理程序。现在信号处理程序的工作是捕获SIGABRT并向用户打印一些消息并继续处理(而不是终止应用程序)
现在我的问题是,我该如何测试?
我考虑测试它的一种方法是在代码中包含一些随机断言。但任何人都可以建议采用更自动化的方式吗?
提前致谢
答案 0 :(得分:0)
使用raise功能,将信号发送到该过程。
int raise(int sig);
raise(SIGABRT);
或者使用kill funcion。
int kill(pid_t pid, int sig);
kill(getpid(),SIGABRT);