在C中捕获崩溃
我目前正在用C语言开发一个程序,它必须无故障运行,因为它必须全天候运行。然而,由于安全原因(它可以控制高压),我希望它运行一个函数,在它崩溃时关闭一些东西。我之所以这样做是因为我想确保每当出现问题时,都会关闭电源 有没有办法开发一个“清理”功能,在代码崩溃时随时运行?我试图寻找其他有类似问题的人,但我很难找到他们 我希望有人能解决我的问题 亲切问候,,在C中捕获崩溃,c,error-handling,C,Error Handling,我目前正在用C语言开发一个程序,它必须无故障运行,因为它必须全天候运行。然而,由于安全原因(它可以控制高压),我希望它运行一个函数,在它崩溃时关闭一些东西。我之所以这样做是因为我想确保每当出现问题时,都会关闭电源 有没有办法开发一个“清理”功能,在代码崩溃时随时运行?我试图寻找其他有类似问题的人,但我很难找到他们 我希望有人能解决我的问题 亲切问候,, Tim您将分叉一个进程并调用,以等待退出状态。那么当操作系统崩溃时会发生什么呢?C中没有“崩溃”的概念,只有“未定义的行为”(google th
Tim您将分叉一个进程并调用,以等待退出状态。那么当操作系统崩溃时会发生什么呢?C中没有“崩溃”的概念,只有“未定义的行为”(google this)。您的代码在哪个平台上运行?您可以使用操作系统特有的函数,如
sigaction()
,为发送到进程崩溃的信号设置处理程序。但问题是,无论是什么原因导致了崩溃,都可能损坏了内存,以至于您无法依赖于当时能够做任何有用的事情。1)如果这对人类或设备有潜在危险,最好是裸机嵌入式系统,即MCU。如果没有,则使用控制关键I/O的MCU。在任何半现代MCU上,应有适当的功能支持故障保护操作。但这对这个网站来说太宽泛了。