到目前为止的设置

1.建立gdb

Qt Creator的最新版本要求gdb必须使用python支持进行编译。使用python支持为远程 ARM 编译gdb。

  • 从此处获取gdb来源http://www.gnu.org/software/gdb/download/
  • 提取并移至提取的目录
  • (可选)创建构建文件夹
    mkdir -p build/gdb
  • 使用以下参数运行configure。注意:arm-linux-gnueabi这应该是PATH中交叉编译器二进制文件的前缀。
    ../../configure --target=arm-linux-gnueabi --with-python
  • 运行make

  • 如果一切顺利,应该在gdb-7.7.1/build/gdb/gdb/中使用python支持编译一个gdb可执行文件,该文件可以与在arm上运行的gdbserver通信。

    2.构建gdbserver

    gdbserver的源位于gdb源中。
  • (可选)为gdbserver创建一个构建目录
    mkdir -p build/gdbserver
  • 准备gdbserver进行交叉编译
    ../../gdb/gdbserver/configure --host=arm-linux-gnueabi
  • 运行make

  • 如果一切顺利,则应该在gdbserver中具有gdb-7.7.1/build/gdbserver/可执行文件。

    3.将gdbserver迁移到目标

    gdbserver必须位于要运行您要调试的代码的目标设备上。我刚刚将它移动到/usr/binscp。由于/usr/bin在PATH中,因此gdbserver在远程终端中可用。

    4.设置Qt创建者

    为了能够从Qt Creator部署和运行,您需要指定如何连接到目标。在Devices中添加具有所需参数的新设备。我在具有密码身份验证的目标上使用openssh。运行测试以检查此步骤是否通过。

    要在目标上定义运行路径,请在.pro文件中添加以下内容:
    linux-* {
             target.path = .
             INSTALLS += target }
    

    注意:您可以在Projects->Run中检查运行设置。如果找不到运行按钮,请先添加工具包。

    Build and Run-> Kits -> "Your cross compiler kit name"中,为Debugger属性选择Manage...。添加一个新的调试器,该调试器指向在步骤1中编译的gdb可执行文件。

    另外,请确保在Use Debugging Helper中启用Debugger->Locals & Expressions以正确解释QString。

    我到此为止成功

    问题

    当我编译示例代码并在主机上运行时,一切正常。

    但是当我尝试在 Remote 上进行操作时,无法访问任何内容。

    弹出错误:

    随着新见解的出现,我将对此进行更新。

    最佳答案

    “无法解析XML ...”消息来自gdb。配置用于构建的gdb时,请确保将libexpat开发包放在眼前。

    但是,这可能不是真正的问题。我看到“stty”。如何指定与远程目标的连接?

    关于c++ - Qt Creator GDB使用调试助手进行远程调试,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/25011953/

    10-11 17:45