Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/multithreading/4.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
Remote debugging CLion远程调试不会终止远程进程_Remote Debugging_Clion_Gdbserver - Fatal编程技术网

Remote debugging CLion远程调试不会终止远程进程

Remote debugging CLion远程调试不会终止远程进程,remote-debugging,clion,gdbserver,Remote Debugging,Clion,Gdbserver,我有最新(2020.3 EAP ATM)版本的CLion,目前我使用它在嵌入式目标(linux mipsel)上远程调试程序 经过一点配置,使用自建的跨工具链和gdbserver,一切都按预期运行 我唯一的问题是点击“红方块”停止执行既不会杀死正在运行的程序,也不会杀死gdbserver本身。 这意味着在编辑编译调试周期的下一次迭代中,我将有两个副本(如果我坚持的话,我可以得到更多副本),这两个副本都无法工作,因为它们都试图同时打开相同的资源(例如:串行端口) 我必须手动登录到target并杀死

我有最新(2020.3 EAP ATM)版本的CLion,目前我使用它在嵌入式目标(linux mipsel)上远程调试程序

经过一点配置,使用自建的跨工具链和
gdbserver
,一切都按预期运行

我唯一的问题是点击“红方块”停止执行既不会杀死正在运行的程序,也不会杀死gdbserver本身。 这意味着在编辑编译调试周期的下一次迭代中,我将有两个副本(如果我坚持的话,我可以得到更多副本),这两个副本都无法工作,因为它们都试图同时打开相同的资源(例如:串行端口)

我必须手动登录到target并杀死有问题的进程

我是否遗漏了什么,是已知的bug还是什么

小更新:
gdbserver
实际上已被终止(在
ps ax
中未显示),但底层程序(debugee)仍然存在。我不知道为什么我会被说服,我的错。

这是一个已知的问题,希望很快会得到解决。
以下是youtrack问题的链接:
您可以尝试建议的解决方法:

  • 添加可终止程序运行实例的预部署配置
  • 按照注释中gdb配置的说明进行操作:
    GDB服务器:
    /bin/bash

    GDB服务器参数:
    -c“gdbserver:1234/home/pi/myapp;pkill-e myapp”

    第二个配置对我不起作用,因此我添加了一个外部工具的执行,我在
    /bin/bash
    命令
    -c“pkill-e myapp | | true”
    中运行该工具。如果程序未运行,则必须使用
    true
    ,以避免出现错误

  • 这是一个已知问题,有望很快得到解决。
    以下是youtrack问题的链接:
    您可以尝试建议的解决方法:

  • 添加可终止程序运行实例的预部署配置
  • 按照注释中gdb配置的说明进行操作:
    GDB服务器:
    /bin/bash

    GDB服务器参数:
    -c“gdbserver:1234/home/pi/myapp;pkill-e myapp”

    第二个配置对我不起作用,因此我添加了一个外部工具的执行,我在
    /bin/bash
    命令
    -c“pkill-e myapp | | true”
    中运行该工具。如果程序未运行,则必须使用
    true
    ,以避免出现错误