我用一个名为alltest.o的可执行文件创建了一个程序,并遇到了一个基本问题。所有测试将运行另一个程序10000次以检查我有的分段错误或断言(此代码是为了帮助找到多线程的错误)。我在linux“./alltext.o> outut.txt”上使用此命令运行代码,但是seg错误和断言从未出现在output.txt中。当我运行“./alltext.o”而不是将其运行到output.txt时,我偶尔会遇到错误。无论如何都要把错误写在output.txt中?
答案 0 :(得分:1)
请记住,linux中的重定向会将stdout重定向到该文件。我想在这种情况下你的错误是通过stderr报告的。将stderr重定向到文件的正确重定向将是" ./ alltext.o 2> output.txt的&#34 ;.这只会引导错误消息。
你也可以使用" ./ alltext.o&> output.txt的"将stdout和stderr重定向到该文件。您可以使用许多组合。
我建议在重定向上阅读更多内容。 Here is a link to a short explanation.