2017-10-12 48 views
1

我想使用QML Profiler來收集數據,即qmljsdebugger在目標設備上處理主機。我用下面的PARAMS運行我的應用程序:QML調試&qmljsdebugger分析不適用於使用Yocto的RPI(poky-pyro)

<app executable> -qmljsdebugger = port:<any available> 

我嘗試運行Profiler來收集數據,從qtcreator(外部)內 我對着目標設備上的問題,現在有兩種:

  1. 該應用程序無法在調試模式下運行,並且
  2. qmljsdebugger模塊無法啓動。

我相信,如果應用程序在調試模式下運行時,應用程序是在命令行中運行,應顯示以下行:

QML調試啓用。只能在安全的環境中使用。 (不 不會出現!)

如果qmljsdebugger模塊開始,以下行應該顯示應用程序運行時;

QML調試器:等待端口連接。 (不出現 !)

現在,要啓用調試模式,我明白我們需要將以下內容放在項目的.pro文件中;

CONFIG+=qml_debug 

爲了啓動qmljsdebugger,我們需要給參數以及應用程序的可執行文件,如上所述。
我也明白,qmljsdebugger對兩個文件的依賴性:

  1. libqmldbg_tcp.so
  2. libqmldbg_inspector.so

他們必須顯示在目標設備上的文件夾qmltooling通常生活在插件文件夾在系統上的qt5 lib文件夾中。
設備上缺少這些文件。所以我試着bitbake工具鏈,並從那裏得到這些文件。但我得到的不是qmltooling文件夾與上述兩個文件,而是我得到qml1tooling文件夾與一個不同名稱的文件(libqmldbg_tcp_qtdeclarative.so)。我沒想到它能起作用,但它沒有。
除此之外,我將lib,bin,include從系統根目錄複製到/ usr/lib,usr/bin和/ usr/include文件夾。但似乎沒有任何地方發生。 任何幫助將不勝感激。

回答

0

我發現如何做到這一點。有問題的插件已經在meta-qt5> recipes-qt> qt5中的配方qtbase_git.bb中被禁用。我必須評論這一行才能使用qml-debug選項配置qbbase。

# PACKAGECONFIG[qml-debug] = "-qml-debug,-no-qml-debug" 

被選擇就沒有-QML調試,這就是不讓它創建QT5>插件> qmltooling文件夾插件的默認。 另一件事,如果使用工具鏈來交叉編譯你的qml應用程序,那麼工具鏈也應該用上面的行註釋重建,否則工具鏈創建的二進制文件將不會啓用Qml Debug。