【发布时间】:2012-07-22 00:26:19
【问题描述】:
最近我正在开发一个用 c 编写的软件,它有大约 3-4 千行代码。当我开始遇到分段错误时,我添加了一个 SIGSEGV 处理程序。这有助于我将错误定位为处理程序被做了一个回溯。
我的问题是除了 SIGSEGV 之外,当我们拥有大型软件时应该处理哪些重要信号,这样错误检测就会很容易。
这可以选择性地用于防止攻击。 Ex 软件在执行关键更新/操作时接收中止信号。标准告诉 SIGHUP、SIGINT、SIGKILL、SIGPIPE、SIGTERM 和其他一些信号具有终止该信号传递到的进程的默认属性。
因此,要为我的软件添加另一层保护,我必须更改这些信号的行为。保护是指我不希望我的软件在关键更新之间终止,我会决定关于何时中止。
编辑:我想知道软件设计得如何,如何处理信号,像安全网一样使用它们,这有助于软件的构建。
【问题讨论】:
标签: c debugging signals signal-handling