为什么没有无法捕获的 coredump 信号?

发布于 2024-09-18 06:11:38 字数 204 浏览 9 评论 0原文

我最近遇到一个应用程序冻结在 SIGABRT 处理程序中,没有注册其他信号来立即进行核心转储。在我们标准化留下 SIGSTOP、SIGABRT、SIGTRAP 等之一之前,我们将只使用 gcore 和 SIGKILL,但考虑到损坏的处理是问题所在,我想知道为什么除了 SIGSTOP 和 SIGKILL 之外没有一个标准的 SIGCORE不能被捕获或忽视。有谁知道为什么要添加或不应该添加一个?

I recently came across an app that froze in a SIGABRT handler with no other signal registered to immediately core dump. Until we standardize leaving one of SIGSTOP, SIGABRT, SIGTRAP, etc., alone, we'll just use gcore and SIGKILL, but given that broken handling was the issue, I wondered why there isn't along with SIGSTOP and SIGKILL a standard SIGCORE that can't be caught or ignored. Does anyone know why one was or should not be added?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

伏妖词 2024-09-25 06:11:38

一个原因可能是程序员有办法避免执行标准错误处理程序。有时,标准处理程序可能是“错误的”(例如,“核心”文件创建可能很慢,或者由于磁盘空间泄漏而昂贵)。对于每个“合理”“标准”故障行为,都有一个应用程序(或者可能是程序员)认为最好更改它......

A reason may be that the programmer has a way to avoid the execution of the standard fault handler. Sometimes the standard handler may be "wrong" (e.g. the "core" file cration may be slow, or expensive because of leak of disk space). For every "reasonable" "standard" fault behaviour, there is an application (or perhaps a programmer) that thinks it's better to change it...

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文