clion中无需人工干预自动启动远程调试

Posted

技术标签:

【中文标题】clion中无需人工干预自动启动远程调试【英文标题】:Start remote debugging automatically without manual intervention in clion 【发布时间】:2016-09-19 00:11:34 【问题描述】:

使用远程调试的功能似乎缺少某种部署步骤。

我能够在不手动进行的情况下接近远程调试的唯一方法是在启动步骤之前创建 2。

1 - 将二进制文件传输到远程机器。

2 - 启动 GDBServer(问题就在这里)

Clion 正在等待该任务完成,但它无法完成,因为 gdbserver 正在侦听端口并等待连接。

到目前为止,我的工作是创建一个 bash 脚本以在后台进程中运行 gdbserver,但是我丢失了我的软件的输出。

我可以将 gdb 输出捕获到可以打开的新终端吗?

有没有办法像 QtCreator 那样自动化流程?

你有什么解决方案?

【问题讨论】:

【参考方案1】:

恐怕还没有这样的开箱即用功能。事实上,如果我是你,我可能会得到类似的解决方法。

这是一个常见的请求,以下是我们跟踪器上的相关问题:

CPP-7160 Launch gdbserver locally and then attach to it CPP-7050 Launch remote targets (e.g. via ssh using gdbserver) CPP-744 Remote projects/toolchains support

请随时为其中任何一个投票。

【讨论】:

【参考方案2】:

这在多大程度上仍然相关,因为这个答案已经晚了 3 年,我想出了一种方法来使用来自 JLink 的 GDB 和 GDBServer 执行“非阻塞”CMake 构建,而无需手动启动 GDBServer。

add_custom_target(COMMAND /* flashing commands */
                  COMMAND cd "path/to/jlink" && start JLinkGDBServerCL -select /* args... */
                  )

start 命令可防止 CLion/CMake 认为项目仍在构建,而实际上并非如此。

【讨论】:

以上是关于clion中无需人工干预自动启动远程调试的主要内容,如果未能解决你的问题,请参考以下文章

youtube-dl 最高质量的 DASH 视频和音频,无需人工干预

crontab任务计划

shell定时任务

shell脚本常用命令:expect

crontab

Linux 的计划任务