如何让 bash 确定孩子是否段错误?

问题描述

我正在编写一个单元测试工具,并希望建立这样一种行为:如果子进程出现段错误,我想在 GDB 下重新运行它。

一般的方法是并行执行所有测试,这是通过将命令组合在一起并将命令通过管道传输到 xargs -P 0 -L 1 -I CMD bash -c CMD 中来完成的,然后我想捕获这些出现段错误的内部进程中的任何一个,然后重新在 gdb 下依次运行它们。请注意,这与捕获它们的返回值不同,为了测试通过/失败的目的,我将继续对其进行处理。

显然,segfaulting 测试是一个失败的测试......重点是让它自动生成一个 gdb 会话并捕获到 segfault,以获得最大的生产力:)

我知道可以在 C 中使用 WTERMSIG 宏来检查子进程退出后是否出现段错误。我当然可以编写一个小的 C/C++ 帮助程序来为我实现这个决定,但是如果有一个内置的方法来使用 bash 来做到这一点会很好。

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)