使用gdb,grep透明地运行程序,如果失败,就打印堆栈跟踪

・1 分钟阅读

透明运行程序,如果失败,就打印堆栈跟踪,

gdb -batch -ex"run" -ex"bt" ${my_program} 2>&1 | grep -v ^"No stack."$
对于自动化单元测试,我希望程序正常运行,但是如果崩溃,将堆栈跟踪添加到输出日志,一个缺点是,它会将程序的stderr和stdout混合在一起。
示例输出
Should be identical to what ${my_program} normally generates, unless ${my_program} crashes, in which case it ends with a stack trace.
Hujiuxiang profile image