Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/ant/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
使用GDB远程调试器时,linux系统调用永远不会返回_Linux_Gdb_Gdbserver_Imx6 - Fatal编程技术网

使用GDB远程调试器时,linux系统调用永远不会返回

使用GDB远程调试器时,linux系统调用永远不会返回,linux,gdb,gdbserver,imx6,Linux,Gdb,Gdbserver,Imx6,我正在尝试远程调试(使用gdbserver)在iMX6上运行的应用程序。我的设置是Ubuntu 16.04 LTS,我使用的是QtCreator 3.5.1(基于5.5.1 GCC 5.2.1) 首先要注意的是,如果我删除系统调用,iMX6应用程序层的QT GDB远程调试器(单步)将正常工作。“系统(…)”或“读取(…)”。但是,任何尝试执行系统调用的操作都会挂起进程。系统调用永远不会返回 第二点需要注意的是,当直接从iMX6执行时(包括系统调用),应用程序运行良好。我甚至可以使用GDB(命令行

我正在尝试远程调试(使用gdbserver)在iMX6上运行的应用程序。我的设置是Ubuntu 16.04 LTS,我使用的是QtCreator 3.5.1(基于5.5.1 GCC 5.2.1)

首先要注意的是,如果我删除系统调用,iMX6应用程序层的QT GDB远程调试器(单步)将正常工作。“系统(…)”或“读取(…)”。但是,任何尝试执行系统调用的操作都会挂起进程。系统调用永远不会返回

第二点需要注意的是,当直接从iMX6执行时(包括系统调用),应用程序运行良好。我甚至可以使用GDB(命令行)调试应用程序。没问题

在QT Creator中,我在QT Creator启动应用程序之前运行的其他调试器命令中添加了GDB命令“set remote system call allowed 1”。没有成功,仍然悬而未决。所有系统调用将挂起,并且永远不会返回


有人知道这是怎么回事吗?为什么我的系统调用没有返回。

这篇文章让我找到了答案。

为了快速参考,我检查了QT创建的日志。选择窗口->查看->调试器日志

在我的例子中,与另一篇文章一样,detach on fork被设置为off

解决办法是 在QTCreator中添加“将fork上的分离设置为打开”作为调试器选项(工具->选项…,调试器:GDB选项卡:其他启动命令)的一部分