2017-10-12 18 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。