2
我使用Qt Creator在調試模式下構建了一個Qt項目,運行Callgrind生成分析數據並嘗試將其加載到Cachegrind中。我注意到,我只能看到Qt類的分析信息,所以我想我一定忘了打開一個關鍵的標誌。如何讓Callgrind訪問我的Qt項目的源代碼?
Qt Creator中的qmake
命令如下:
qmake /path/to/project/MyProject/MyProject.pro -r -spec linux-g++-64 CONFIG+=debug
樣品編譯輸出一個文件:
g++ -c -m64 -pipe -g -Wall -W -D_REENTRANT -DQT_GUI_LIB -DQT_CORE_LIB -DQT_SHARED -I/usr/share/qt4/mkspecs/linux-g++-64 -I../Flowchart -I/usr/include/QtCore -I/usr/include/QtGui -I/usr/include -I. -I. -I../Flowchart -I. -o main.o ../Flowchart/main.cpp
的-g
標誌是存在的,所以調試信息應該可用。我通過在可執行文件上運行gdb
來驗證這一點,並嘗試使用l
來查看一些隨機源代碼。
我使用的Callgrind命令是:
valgrind --tool=callgrind ./MyProject
缺少什麼我在這裏?