簡體   English   中英

使用英特爾Vtune從Qt Creator配置應用程序

[英]Using Intel Vtune to profile Application from Qt Creator

我想在Windows 7上使用Vtune從QtCreator配置應用程序 但是Vtune基本上是為Visual Studio應用程序制作的,所以我必須在我的函數名稱和發布版本中的指令之間建立鏈接。 實際上我在Hotspots中只有偽名稱func @ address,它不可用。

通過探索英特爾Vtune的“入門”,我發現我必須在我的發布版本中啟用調試信息,但如何在QtCreator中執行該操作?

從'使用調試信息'文件:

為了提供准確的性能數據並啟用源分析,英特爾®VTune™放大器需要其分析的二進制文件的調試信息。 如果它沒有在二進制文件中找到調試信息,則VTune Amplifier靜態地識別函數邊界並將熱點地址分配給這些函數的生成的偽名稱func @ address。

如果缺少調試信息,則“調用堆棧”窗格可能無法正確解開調用堆棧以進行用戶模式采樣和跟蹤分析類型。 此外,在某些情況下,最終確定沒有調試信息的模塊的結果可能需要更多時間。

在Windows *操作系統上,PDB文件提供調試信息。 確保您的系統和應用程序庫/可執行文件都有PDB文件。 使用優化編譯目標並開始分析其性能。

默認情況下,Microsoft Visual Studio * IDE不會在發布模式下生成PDB信息。 為了使用VTune放大器獲得更好的結果,請手動啟用符號生成。 對於系統庫,請使用Microsoft * Symbol Server從Microsoft *網站下載所需的PDB文件。 按照以下步驟確保VTune Amplifier使用系統和您自己的庫的調試信息。

我嘗試了一些方法,例如:-edit file.pro來更改發布版本

QMAKE_CXXFLAGS_RELEASE += -g
QMAKE_CFLAGS_RELEASE += -g
QMAKE_LFLAGS_RELEASE =
  • 配置Debug構建。

但它沒有改變任何東西,我仍然沒有打印功能名稱

任何輸入都非常感謝。

是的,對於VTune(或其他類似的分析工具),您需要“釋放構建”(即優化開啟),同時調試信息也會打開。 QTCreator默認情況下不會創建此類發布+調試配置。

對於Windows MS編譯器工具鏈,它意味着您必須使用其他 / Zi編譯和/ DEBUG鏈接器選項來補充 Release配置。

為了在QTCreator中傳播這些附加選項,請使用以下步驟 (另請參見下面的屏幕截圖):

  • 在編輯器中打開qtcreator項目文件(***。pro)
  • 在“TARGET”之前添加以下行

QMAKE_CXXFLAGS+=-Zi QMAKE_LFLAGS+=/DEBUG

  • 現在,在構建項目時,這些選項將自動應用於Debug和Release配置(Debug已經擁有它,因此它應該不是問題)
  • 現在,您可以使用VTune配置發布版本

幾個小調

  1. 類似的程序(使用QMAKE_CXXFLAGS)也適用於MinGW / GCC或任何其他具有適當選項的工具鏈(-g,-gdwarf-2等)
  2. 如果您不想影響所有配置,那么有QT項目編譯指示允許在配置之間條件化QMAKE_CXXFLAGS
  3. 如果您想要分析QT標准庫的內部,那么您還需要通過調整QMAKE_LFLAGS和/ DQT ***等額外選項來鏈接QT庫的調試版本。 在構建默認的Debug配置時,您可以通過查看QT“編譯器輸出”窗口來學習這些內容。

QT創建者屏幕截圖

  1. 確保使用VTun eupdate 7或更高版本
  2. 如果您使用默認的MinGW工具鏈,請確保通過傳遞-gdwarf-2(或-g3 -gdwarf-2)來使用DWARF調試格式
  3. 如果您正在使用MSVC工具鏈/ Zi shuld將傳遞給編譯器和/ DEBUG到鏈接器

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM