一、打印信息格式
Valgrind打印信息的格式如下,很容易和程序输出信息区分出来
== 进程ID ==Valgrind的打印信息
二、打印到何处
1、打印到文件描述符中
主要是设置打印到终端上,默认情况下为2(stderr标准错误输出)。如果要想打印到其他文件描述符(例如编号9),则可以指定 --log-fd=9。
2、打印到指定文件中
使用选项:–log-file=filename
若filename是空,则会引发终止。filename中可有三种格式信息;
%p将被替换为当前进程的ID。当—trace-children=yes,而没用%p时,所有进程的信息都输向同一个文件,会比较混乱,信息也可能不全,最好文件名中包含%p。%q{FOO}被环境变量FOO的值代替,若FOO的内容奇怪的话也可能引发异常。一般不用这种格式,除了极少情况,如基于MPI(一种并行程序开发库)的程序。若用了此种格式,FOO不能为空,否则也引发异常。一些shell里面,”{””}”可能需要反斜杠转义。%%被代替为%,%不能后接任何其他字符,否则会引发异常。
3、打印到网络套接字(网络)
使用选项:–log-socket=IP:端口号
接收端使用valgrind-listener,valgrind-liste