不要尝试在 SIGSEGV 上启动 gdb

问题描述 投票:0回答:1

如何防止我的系统在 SIGSEGV 的情况下尝试启动 gdb?我希望我的应用程序正常终止,以便可以捕获进程的返回并正确处理错误(如果有)。

捕获 SIGSEGV 执行 gdb 失败:没有这样的文件或目录 纺纱。请运行 'gdb gst-launch-1.0 1586' 继续调试,Ctrl-C 退出,或 Ctrl-\ 转储核心。 ^C|^\退出

bash segmentation-fault gdb gstreamer
1个回答
0
投票

默认情况下,由 gst-launch 启动的 GStreamer 程序将安装一个 fault handler 函数作为 SIGSEGV 和 SIGQUIT 的信号处理程序。当这些信号中的任何一个到达时,程序将运行 GDB 以显示堆栈跟踪 - 在您的情况下,未找到 GDB - 然后进入低开销自旋循环,同时等待您手动运行 GDB。 (源代码。)

您可以通过为

gst-launch
提供
--no-fault
-f
选项来防止安装故障处理程序。

© www.soinside.com 2019 - 2024. All rights reserved.