gprof不显示调用图

我正在使用-pg选项运行我的程序。 当我打开输出gmon.out它只是累积列表而不是调用图表。 我如何解决这个问题?

我知道这是在这之前问:gprof - 文件缺少调用图数据但没有人真正回答这个问题,只给出了替代gprof的建议。


我也有一个令人失望的经历寻找答案。

具体来说:以下对我有帮助(最新的Ubuntu 2013年5月)。 试试-fno-reorder-functions-fno-inline 。 例如,在cmake下,这工作:

if(CMAKE_COMPILER_IS_GNUCXX)
  add_definitions(${CMAKE_CXX_FLAGS} "-Ofast")
  add_definitions(${CMAKE_CXX_FLAGS} "-fno-reorder-functions")
  add_definitions(${CMAKE_CXX_FLAGS} "-fno-inline")
endif()

一般来说:尝试查看编译器优化文档。 找到适用的优化级别,然后为下一级添加所有列出的选项。 尝试添加和删除,例如,平分。 再次,在cmake里有这样的东西:

  add_definitions(${CMAKE_CXX_FLAGS} "-O1")
  add_definitions(${CMAKE_CXX_FLAGS} "-fthread-jumps")
  add_definitions(${CMAKE_CXX_FLAGS} "-falign-functions  -falign-jumps")
  add_definitions(${CMAKE_CXX_FLAGS} "-falign-loops  -falign-labels")
  # add_definitions(${CMAKE_CXX_FLAGS} "-fcaller-saves")
  # add_definitions(${CMAKE_CXX_FLAGS} "-fcrossjumping")
  # add_definitions(${CMAKE_CXX_FLAGS} "-fcse-follow-jumps  -fcse-skip-blocks")
  # add_definitions(${CMAKE_CXX_FLAGS} "-fdelete-null-pointer-checks")

很可能一个或两个优化选项会导致所有问题。

链接地址: http://www.djcxy.com/p/40349.html

上一篇: gprof not showing call graph

下一篇: Using gprof with sockets