debugging 带有Qt应用程序gprof

jc3wubiy  于 2022-11-14  发布在  其他
关注(0)|答案(3)|浏览(180)

我需要在目标上评测我的C++ Qt应用程序的帮助,包括内存使用和CPU负载。我被推荐使用gprof,但似乎不能让它工作。以下是我尝试遵循的指南:

我将这些标志添加到我的.pro文件中

QMAKE_CXXFLAGS+=-pg
QMAKE_LFLAGS+=-pg

但是当我执行这个程序的时候,gmon.out文件却找不到了?!
谁能给予我一个循序渐进的例子,我应该怎么做?

umuewwlo

umuewwlo1#

请尝试:

QMAKE_CXXFLAGS_DEBUG *= -pg
QMAKE_LFLAGS_DEBUG *= -pg

而不是:

QMAKE_CXXFLAGS += -pg
QMAKE_LDFLAGS += -pg

别忘了:

CONFIG += debug

我也遇到了同样的问题,它对我很有效。希望它有帮助!

2guxujil

2guxujil3#

我正在分析运行在iMX-7嵌入式设备上的代码,该设备使用了面向ARM CPU的GNU c++编译器。我使用了该建议,它起作用了:

QMAKE_CXXFLAGS *= -pg
QMAKE_LFLAGS *= -pg

但是,gprof输出分析显示11个循环(递归调用)并不存在。
在编译时(-Og)添加更多调试信息将循环计数从11减少到7。仍然不完美,但其余的都是良性的:

QMAKE_CXXFLAGS *= -pg
QMAKE_CXXFLAGS += -Og
QMAKE_LFLAGS *= -pg

相关问题