如果收到段错信号,我的应用程序通常会崩溃并打印堆栈以记录.
但在某些环境中,’dmesg’显示与我的应用程序相关的段错误消息,但应用程序正常运行时间要长得多.
可以抑制段错误并且应用程序不会收到信号吗?
或者dmesg的错误是什么意思?
应用程序可能或忽略或对分段故障信号进行一些特殊处理.信号和相关
页面的手册页有详细信息.
我看到的一种可能情况可能导致所描述的行为(dmesg报告段错误但应用程序正在运行)是应用程序分叉和子进程段错误.要知道是否是这种情况,请检查dmesg报告的进程ID是否与当前正在运行的进程的进程ID相同.