gprof在ROS中的配置

CMakeLists.txt中的catkin_package()之后,添加

1
2
add_compile_options(-pg)
set(catkin_LIBRARIES ${catkin_LIBRARIES} -pg)

默认情况,一个launch的所有节点都会把gprof输出到同一个文件。在<node>之前添加<env>部分,GMON_OUT_PREFIX环境变量表示了gprof的前缀

1
2
3
4
5
<env name="GMON_OUT_PREFIX" value="listener" />
<node name="listener" pkg="examples" type="listener" output="screen" />

<env name="GMON_OUT_PREFIX" value="talker" />
<node name="talker" pkg="examples" type="talker" output="screen" />

gprof文件会在~/.ros生成。

参考: gprof