到目前为止的设置
1.建立gdb
Qt Creator的最新版本要求gdb必须使用python支持进行编译。使用python支持为远程 ARM 编译gdb。
mkdir -p build/gdb
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源中。
mkdir -p build/gdbserver
../../gdb/gdbserver/configure --host=arm-linux-gnueabi
make
如果一切顺利,则应该在
gdbserver
中具有gdb-7.7.1/build/gdbserver/
可执行文件。3.将gdbserver迁移到目标
gdbserver必须位于要运行您要调试的代码的目标设备上。我刚刚将它移动到
/usr/bin
到scp
。由于/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/