[英]Qt creator gdb remote debugging with debug helpers
Qt Creator的最新版本要求gdb必须使用python支持进行编译。 使用python支持为远程手臂编译gdb。
(可选)创建构建文件夹
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通信。
gdbserver的源位于gdb源中。
(可选)为gdbserver创建一个构建目录
mkdir -p build/gdbserver
准备gdbserver进行交叉编译
../../gdb/gdbserver/configure --host=arm-linux-gnueabi
运行make
如果一切顺利,则应该在gdb-7.7.1/build/gdbserver/
具有gdbserver
可执行文件。
gdbserver必须位于要运行您要调试的代码的目标设备上。 我刚刚使用scp
将其移动到/usr/bin
。 由于/usr/bin
位于PATH中,因此gdbserver在远程终端中可用。
为了能够从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可执行文件。
另外,请确保在Debugger->Locals & Expressions
启用Use Debugging Helper
,以正确解释QString。
我成功地走了这么远
当我编译示例代码并在主机上运行时,一切正常。
但是当我尝试在遥控器上进行操作时,无法访问任何内容。
弹出的错误:
随着新见解的出现,我将对此进行更新。
“无法解析XML ...”消息来自gdb。 配置用于构建的gdb时,请确保将libexpat开发包放在眼前。
但是,这可能不是真正的问题。 我看到“ stty”。 如何指定与远程目标的连接?
我无法将其与有关XML的错误相关联,但是一旦在Build&Run-> Kits-> Sysroot中设置了正确的Sysroot,就可以解决该问题。
不知道默认情况下使用了什么sysroot ...
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.