我在 ubuntu 16.04 上。
这是我所做的:
安装 gperftools :
sudo apt-get install google-perftools libgoogle-perftools-dev
从以下位置下载 FindGperftools.cmake:https ://github.com/vast-io/vast/blob/master/cmake/FindGperftools.cmake
重命名
FindGperftools.cmake
为GperftoolsConfig.cmake
并将其放置cmake
在我的包中的文件夹中添加到
CMakelists.txt
:set (Gperftools_DIR "${CMAKE_CURRENT_LIST_DIR}/cmake/") find_package(Gperftools REQUIRED)
在同一个 CMakelists.txt 中,链接我的可执行文件:
target_link_libraries(my_executable ${GPERFTOOLS_PROFILER})
在终端中,导出 CPUPROFILE 环境变量:
export CPUPROFILE=/my_path/prof.out
在同一终端中,运行可执行文件:
./my_executable
没有错误消息,但未/my_path/prof.out
创建日志文件。
如果我在“my_executable”上运行“ldd”,它不会显示与探查器的任何链接(ldd ./my_executable | grep profil
不会产生任何结果)。然而,当查看构建文件夹中的文件时,编译器似乎做了链接(-lprofile
在那里)。
有什么我可能忘记的吗?
注意:不确定是否相关,但我使用 catkin。