如何在执行“ ./a.out”时重定向信息,如“中止(核心转储)”

问题描述 投票:1回答:1

有一个.out文件,运行时将导致Aborted (core dumped)信息。

我想将此信息Aborted (core dumped)放入文件中。

我实际上想将其放入程序中,但是我遇到了重定向问题。解决此问题后,可以通过redirect和popen()将其放入程序中。

我尝试./a.out 2>file,但是它不起作用。

c redirect stdout popen stderr
1个回答
0
投票

重定向a.out的标准错误将不会执行任何操作,因为a.out实际上并未写入Aborted (core dumped)消息。此消息由外壳程序本身编写,以响应在程序中调用waitpid或类似内容时返回的异常状态。

为了以编程方式获取相同的信息,您需要检查waitpid中将出现的退出代码。信号11(SIGSEGV)将导致退出代码128 + 11 = 139; SIGABRT(信号6)应产生退出代码134。

© www.soinside.com 2019 - 2024. All rights reserved.