我正在尝试远程调试(使用 gdbserver)在 iMX6 上运行的应用程序。我的设置是 Ubuntu 16.04 LTS,我使用的是 QT Creator 3.5.1(基于 5.5.1 GCC 5.2.1)。
首先要注意的是,如果我删除系统调用,iMX6 应用层的 QT GDB 远程调试器(单步)正在工作。“系统(...)”或“读取(...)”。等等。但是,任何进行系统调用的尝试都会挂起该进程。系统调用永远不会返回。
第二件事要注意的是,当直接从 iMX6 执行(包括系统调用)时,应用程序运行得很好。我什至可以使用 GDB(命令行)来调试应用程序。这里没问题。
在 QT Creator 中,我已将附加 GDB 命令“设置远程系统调用允许 1”添加到 QT Creator 在启动应用程序之前运行的附加调试器命令中。没有成功,仍然挂起。所有系统调用都挂起并且永不返回。
有谁知道这里发生了什么?为什么我的系统调用没有返回。