参考
gdb调试多进程与多线程
Clion连接docker远程开发
ssh: connect to host localhost port 22: Connection refused 问题
CLion: rsync is not installed or not avaiable in PATH on remote host
背景
我想在Docker环境下运行程序,我想打断点,一步步调试。
我之前一直用vscode 调试C/C++程序,这次调试多进程程序,发现fork后,vscode 插件debug进不去子进程。
自己菜,GDB用不流畅。
结果
最后选择在Clion里进行调试。Clion里可以在fork后,点击进入子进程,就像GDB一般。
勾选"复刻时跟随子级", "复刻时分离进程" 然后fork后,就是进入了子进程,可以看到fork的返回为0,代表进入了子进程。
过程
配置的整个过程是Clion连接DockerSSH开发, 具体是参考知乎文章。
配置SSH
在Docker里需要
- 安装 SSH 软件,
- 配置SSH并生成密钥,然后
- 启动SSH(可以想办法设置启动容器后,自动启动SSH)。
我遇到ssh: connect to host localhost port 22: Connection refused 的问题,参考文章,得知sshd没有启动
无法启动sshd。
使用调试来找问题
/usr/sbin/sshd -d
前台运行sshd
/usr/sbin/sshd -D
可以根据调试报错来修改。
安装Clion
ubuntu snap下载的Clion 总是卡死,遂尝试用官网下载,参考文章,官网的没有卡死。
Clion SSH连接
还是参考前述的知乎文章,配置SSH。
遇到问题:
CLion: rsync is not installed or not avaiable in PATH on remote host
依据参考文章解决了。
遗留问题
- Clion有直接连Docker的,但是好像是需要重新开容器,我是连接原有的容器,所以没有尝试这个功能。
- 看着ClionSSH连接,应该是在被连接机器中,下载了一个Clion IDE,但是体积很大,有1个G,感觉不如vscode ssh 插件