记一次配置远程调试
Ubuntu 18.04 环境 + QtCreator
从硬件团队手里拿到了Buildroot的编译链,编译链中自带环境为Qt 5.9.4……所以其实本地安一个QtCreator IDE其实就行了,但我还是装了个5.12.2的环境。
配置Qmake版本时候要注意路径需要与qmake的二进制里的文件路径对应,否则会报“无效的Qt版本”,不能识别Qt mkec等路径(或者修改qmake二进制中的路径)。详见 https://blog.csdn.net/iteye_13202/article/details/82449361
设置设备为“通用Linux设备”,由于不知道root的密码,我直接使用的密钥登录,配置如下:
其中,板子里的密钥登录也需要配置,需要将RSA密钥写入“~/.ssh/authorized_keys”中,
开启/etc/ssh/sshd_config中的以下两行
RSAAuthentication yes
PubkeyAuthentication yes
同时由于我是使用root用户进行登录,还需要开启 PermitRootLogin yes 开关。
点击“Test”按钮,测试是否成功
成功后,kit配置为该设备,配好的编译链中的gdb。
F5开始调试,发现新版QtCreator需要gdb带有python支持,否则不能使用。
转而使用 gdb-multiarch,apt install 即可。
配置kit的调试器为 gdb-multiarch,再次启动即可。
然后将板子上的环境变量和sshd设置在/etc/profile 里开机启动即可。
远程调试貌似是通过ssh启动设备的gdbserver然后本地访问所完成,因而二者是通过网络连接的。
关于部署,原开发者为Android工程师,因而使用Adb push写入开发板,实际Qt默认有部署规则,通过sshfs部署,默认为
qnx: target.path = /tmp/$${TARGET}/bin else: unix:!android: target.path = /opt/$${TARGET}/bin !isEmpty(target.path): INSTALLS += target
修改以下,并保证网络连接成功即可通过该规则完成部署。