如何将Valgrind的输出redirect到一个文件?

在使用Valgrind工具时,我需要loggingvalgrind工具生成的详细信息。 我怎么能做到这一点? 我尝试了一些像

valgrind a.out | test 

  valgrind a.out > test 

它给出了程序的输出,而不是valgrind内存错误,泄漏信息。 即使我得到这样的程序如果不需要用户交互(即给予input)。 如果程序需要用户input,那么这个东西本身就不能工作。

我怎样才能做到这一点?

3 Solutions collect form web for “如何将Valgrind的输出redirect到一个文件?”

 valgrind --log-file="filename" 

默认情况下,Valgrind将其输出写入stderr。 所以你需要做一些事情:

 valgrind a.out > log.txt 2>&1 

或者,你可以告诉Valgrind写在别的地方; 见http://valgrind.org/docs/manual/manual-core.html#manual-core.comment (但我从来没有尝试过)。

你也可以设置选项–log-fd,如果你只是想用较less的读取你的日志。 例如 :

 valgrind --log-fd=1 ls | less 
  • 这Valgrind警告是什么意思? - 警告设置地址范围烫发
  • 是否有可能使valgrind忽略某些图书馆?
  • Valgrind无法运行Java Android程序
  • 有没有一个很好的Valgrind替代Windows?
  • 正确的方法来初始化C ++结构
  • Valgrind:使用<iostream>,仍然可以使用普通程序访问内存