来自Raspberry Pi 3(目标)的Qt Creator(主机)的GDB远程调试

时间:2018-01-13 18:49:42

标签: qt debugging raspberry-pi qt-creator gdbserver

我有一个用C ++编写的控制台应用程序,我在Qt Creator中开发。我正在使用toolchain并且我已经在cmake CMAKE_SYSROOT,CMAKE_CXX_COMPILER中设置指向来自该工具链的那些。另外,我在gcc中添加了-g和-O0。然后,我在Qt Creator中创建了一个工具包,用于构建和部署可执行文件到Raspberry Pi 3,它运行良好。现在,我想设置调试器以从我的PC远程调试应用程序。

所以,我已经在我的Qt Creator中的工具包中添加了gdbmultiarch编译器,并将其工作目录设置为我在CMAKE_SYSROOT中设置的sysroot路径。接下来,我在Raspberry Pi上安装了gdbserver并尝试连接。这是成功的,但我得到警告:“无法加载共享库符号”。然后,我去了Qt Creator选项 - >调试器 - > GDB - >附加附加选项并添加

set sysroot [path to sysroot from toolchain]

但警告仍然存在。我也试过了

set solib-search-path [path to libraries in sysroot from toolchain]

set solib-absolute-prefix [path to sysroot from toolchain]

但这些都没有奏效。

唯一有效的是

set sysroot target:/

然后我正在加载Raspberry Pi中的所有库,而且速度很慢。那么我做错了什么,我该如何解决呢?

1 个答案:

答案 0 :(得分:0)

将sysroot设置为主机的qt5pi目录对我有用。所以对我来说,像这样:

set sysroot ~/raspi/qt5pi/

(在Qt Creator选项->调试器-> GDB->其他附加选项中。)