如何防止我的系统在 SIGSEGV 的情况下尝试启动 gdb?我希望我的应用程序正常终止,以便可以捕获进程的返回并正确处理错误(如果有)。
捕获 SIGSEGV 执行 gdb 失败:没有这样的文件或目录 纺纱。请运行 'gdb gst-launch-1.0 1586' 继续调试,Ctrl-C 退出,或 Ctrl-\ 转储核心。 ^C|^\退出
默认情况下,由 gst-launch 启动的 GStreamer 程序将安装一个 fault handler 函数作为 SIGSEGV 和 SIGQUIT 的信号处理程序。当这些信号中的任何一个到达时,程序将运行 GDB 以显示堆栈跟踪 - 在您的情况下,未找到 GDB - 然后进入低开销自旋循环,同时等待您手动运行 GDB。 (源代码。)
您可以通过为
gst-launch
提供--no-fault
或-f
选项来防止安装故障处理程序。