最近阅读相关项目源码,在windows下一般都使用sourceinsght,然而项目是linux相关的,想到的方式是可以在windows下装docker运行相关服务,或者在linux下阅读。就遇到个问题,linux下用哪个比较好去阅读项目源码。
题外话
之前给v2ray开了两个通道,一个直连,一个通过ws方式,然后发现直连报错了,客户端日志如下
1 | 2021/09/12 10:07:06 [Warning] [655160024] v2ray.com/core/app/proxyman/outbound: failed to process outbound traffic > v2ray.com/core/proxy/vmess/outbound: failed to find an available destination > v2ray.com/core/common/retry: [dial tcp 服务器ip:服务器port: operation was canceled] > v2ray.com/core/common/retry: all retry attempts failed |
具体原因还待查看,主要是后面都没有改过配置,突然失败了。
然而使用ws却没有问题,看来还是建议使用ws方式,牺牲点速度,但是更安全。
源码阅读
看了网上各种,有采用vim+cscope+ctags的,还有使用各种软件的,如source navigator,KScope,understand,SlickEdit等,
或者考虑在linux下用wine允许sourceinsight。本打算用understand,但是安装后才发现需要license,最终还是决定用wine,主要省去了熟悉软件的过程,就是wine下运行可能会出现一些问题。
首先安装wine,我使用的是archlinux,把/etc/pacman.conf下
1 | [multilib] |
两行解注释,然后安装wine即可
1 | $ sudo pacman -Sy wine |
然后下载sourceinsght,直接用wine运行对应安装程序即可
1 | $ wine /xxx/sourceinsight.exe |
程序会安装到~/.wine下,drive_c目录就对应C盘。运行也是用wine加上对应安装后的程序即可。
我中间遇到个问题,就是想要重装sourceinsight,但是sourceinsight目录下没有unstaller.exe类似的卸载程序。最后用了比较chuo的方法,先把wine啥的给卸载了,然后直接把~/.wine目录删除了,然后再重装,仅记录下,网上有更好的方式。
git
阅读源码就涉及到github相关了,这里仅简单记录下操作
设置用户名和邮箱
1 | $ git config --global user.name "xxx" |
然后生成公私钥,把公钥上传到github上,私钥放到~/.ssh目录下
关键注意私钥的权限!
1 | $ chmod 600 ~/.ssh/id_rsa |
最后测试ssh是否成功
1 | $ ssh -T [email protected] |
遗留问题
wine运行的sourceinsight,Main tool bar会显示的很宽,目前还未解决,只是简单粗暴的把bar给关掉了。。