Ceph源码分析-使用VScode调试ceph-osd教程

本篇内容全部都是干货,请先收藏,以免后期找不到哦。

前言:

本文以ceph osd部分为例,为您演示通过第三方社区提供的vscode 编辑软件,对ceph osd进行进行图形化单步调试以及配置操作。

Step1. 下载安装windows的vscode****

在该地址下载:code.visualstudio.com/;

安装openssh (一般情况不用自己手动安装);

如果需要远程开发,Windows机器也需要支持openssh,如果本机没有,会报错;

报错信息类似如下:

可以到微软官网上下载ssh。

以下内容中,ceph源码路径在/ceph_soft/ceph目录下,其编译运行文件在/ceph_soft/ceph/build/bin当中。启动调试前需要停止本地的osd运行服务。

Windows10新版本会自带,但是有的没有自带的就需要安装:

在安装完成之后,点击左侧的Remote-SSH选项卡,再将鼠标移向CONNECTIONS栏,点击出现的configure:

填写linux服务器的ssh端口和用户名(如果是默认的22端口可不用填写):

按下ctrl + s 保存然后连接:

输入密码,总共有多次输入密码的流程留意窗口变化:

打开远程服务器的文件夹:

Step 2. 远程连接遇到的问题以及技巧

因为ceph工程文件数量众多会出现 无法在这个大型工作区中监视文件更改。请按照说明链接来解决此问题的问题。

原因:

工作区很大并且文件很多,导致VS Code文件观察程序的句柄达到上限。

解决方法:

编辑linux服务器中的 /etc/sysctl.conf;

将以下一行添加到文件末尾,可以将限制增加到最大值:

保存之后 输入sysctl -p可解决,在最左上栏查看(V) -> 终端可以调出终端窗口对Linux服务器输入命令。

Step 3. 远程调试****

首先前提Linux服务器已经安装了GDB,否则会提示出错。

在ceph工程目录下添加launch.json文件。在最左上栏运行® -> 添加配置 ,注意一定要在ceph当前工程目录。

修改配置launch.json中的program、args选项。

按照下图点击就可以开始调试之路:

4. 免密码登录方法****

以管理员模式打开powershell 输入ssh-keygen 生成一对密钥对;

拷贝C:\Users\用户名.ssh目录下的id_rsa.pub到服务器上除了.ssh/目录的任意地方。注意:不要覆盖服务器下的.ssh/id_rsa.pub;

在服务器上执行cat id_rsa.pub >> ~/.ssh/authorized_keys 当前服务器用户目录的的.ssh;

简单来说就是把电脑上的id_rsa.pub 添加到服务器下的authorized_keys文件中:

结束

设置vscode 远程连接到Linux 服务器环境并不复杂,简单几个步骤便可从GDB黑框框界面中解脱,图形界面编辑器的调式方法使从代码上分析cpeh、redis 这类大型C/C++工程更加得心应手。

最后,为大家推荐一款新型的云原生研发工作,包括IDE及Vscode均集成在内------StarOS,纯免费SAAS应用产品。

有需要的朋友可以去体验一下......

作者:StarOS_Test

链接:https://juejin.cn/post/7021349089006583839

来源:稀土掘金

著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。

相关推荐
iCxhust19 小时前
8086/8088单板机VSCode集中环境开发编译(第二版整理)
ide·vscode·嵌入式硬件·编辑器·嵌入式·微机原理·8086最小系统
努力的小帅20 小时前
使用 Tailscale 实现 Ubuntu 远程开发(VSCode Remote SSH + NoMachine)
linux·ide·vscode·ubuntu·编辑器·copilot
开发者联盟league20 小时前
解决vscode默认终端log日志输出中文乱码的问题
ide·vscode·编辑器
2501_9160074720 小时前
XCode 15 IDE新特性:苹果集成开发环境全面升级,提升编程效率与体验
ide·vscode·macos·ios·个人开发·xcode·敏捷流程
贾亚超20 小时前
手动配置vscode-server
ide·vscode·编辑器
6190083361 天前
win idea 控制台中文乱码
java·ide·intellij-idea
智驾1 天前
Claude Code + vscode + minimax2.7
vscode·claudecode·minimax2.7
Geoking.2 天前
VSCode 安装 Claude Code 插件 + ccswitch 配置 DeepSeek API 完整教程(Windows 新手向)
ide·windows·vscode
其实防守也摸鱼2 天前
VS code怎么使用 Conda 安装预编译包
开发语言·网络·c++·vscode·安全·web安全·conda
SilentSamsara2 天前
生成器实战:处理大文件、流水线模式与无限序列
vscode·python·青少年编程·pycharm