因为OSD端有OSD进程,MON有MON进程,MDS有MDS进程。所以在gdb的时候可以直接attach这些进程号进程调试。或者在代码中直接添加打印。但是对于client端的代码没有一个具体的进程来进行attach,因为client端代码是编译成一个lib库,client端程序在运行的时候会链接这些lib库,如librbd.lib librados.lib,因此需要找到一个这些lib库的载体。为了更好的调测这些数据代码,可以使用rbd bench-write工具进行调测,这也是可以直接通过vstart来操作的,这样方便调测和debug。具体通过一个例子来说明:
如我想看client端读写请求的路径流程:

如果想修改代码:此时你可以修改client端代码,然后 make -j64进行编译。
一、在ceph/build/目录下:
1、../src/vstart.sh -n -d –mon_num 1 –mds_num 0 –osd_num 3 –short
2、./bin/ceph osd pool create 15Kpool 32 32 -c ceph.conf
3、./bin/rbd create 15Kpool/image -s 10G -c ceph.conf
二、通过rbd bench-write工具对对这个image进行写操作:
1、./bin/rbd bench-write image –pool=15Kpool –io-size 4K –io-pattern rand -c ceph.conf

三、此时在out/client.admin.xxxx.log文件中回打印修改的打印语句。

四、或者可以通过cgdb的方式来附加这个bench-write进程。通过断点的方式进行debug。
1、ps aux |grep bench
root 1447 12.7 0.0 1635684 30672 pts/14 Sl+ 00:09 0:01 ./bin/rbd bench-write image –pool=15Kpool –io-size 4K –io-pattern rand -c ceph.conf
2、#cgdb -p 1447
3、(gdb):b ImageRequestWQ.cc:165
4、(gdb):c

ceph vstart调试client端代码相关推荐

  1. Redis:安装、配置、操作和简单代码实例(C语言Client端)[转]

    我转的地址: http://blog.csdn.net/hj19870806/article/details/8724907 听说游戏的用的比较多,所以了解下. --以下为转载内容 Redis是一个开 ...

  2. Client端异步Callback的应用与介绍

    转载:http://blog.csdn.net/goalbell/archive/2007/09/16/1787213.aspx 1.Client端异步Callback的介绍:它是通过前端Client ...

  3. 仿京东开放平台框架,开发自己的开放平台(包含需求,服务端代码,SDK代码)...

    目录 1开放平台需求 1.1调用参数 1.2签名算法 2服务端代码,Java举例 2.1接口入口代码 2.2业务逻辑层 2.3基础工具类 3.SDK代码,Java举例 4.集成SDK,代码举例 现在开 ...

  4. 用户自定义协议client/server代码示例

    用户自定义协议client/server代码示例 代码参考链接:https://github.com/sogou/workflow message.h message.cc server.cc cli ...

  5. oracle 与 client端执行结果不一致_不同模式下Spark应用的执行过程

    根据应用执行的3个阶段,不同执行模式下各个阶段的执行逻辑不相同,本文分析不同模式下的执行逻辑. Yarn-Client模式的执行流程 Yarn的组成 Yarn是hadoop自带的资源管理框架,它的设计 ...

  6. java cxf服务端代码_【JAVA】 cxf 生成 webservice 服务端代码

    CXF Apache CXF = Celtix + XFire.CXF 继承了 Celtix 和 XFire 两大开源项目的精华,提供了对 JAX-WS 全面的支持,并且提供了多种 Binding . ...

  7. 【Apache Mina2.0开发之二】自定义实现Server/Client端的编解码工厂(自定义编码与解码器)!...

    本站文章均为 李华明Himi 原创,转载务必在明显处注明: 转载自[黑米GameDev街区] 原文链接: http://www.himigame.com/apache-mina/831.html ☞ ...

  8. codeblock socket 编译错误_从Linux源码看Socket(TCP)Client端的Connect

    从Linux源码看Socket(TCP)Client端的Connect 前言 笔者一直觉得如果能知道从应用到框架再到操作系统的每一处代码,是一件Exciting的事情. 今天笔者就来从Linux源码的 ...

  9. 搭建Apache Mina框架并实现Server与Client端的简单消息传递

    http://www.himigame.com/apache-mina/831.html :(作者新浪微博: @李华明Himi ) 转载自[黑米GameDev街区] 原文链接: http://www. ...

最新文章

  1. python高效开发实战
  2. R语言使用ggpubr包的ggline函数绘制各种漂亮形式的线图实战
  3. [译]使用scikit-learn进行机器学习的简介(教程1)
  4. flask 获取网址
  5. UWP入门(八)--几个简单的控件
  6. html引入jquery_jQuery
  7. Symbian签名和Uid相关内容的整理(一)
  8. 常用的函数式接口_Consumer接口
  9. PTA-7-5 打印杨辉三角 (20分)(C语言)
  10. android rtsp协议转http协议_Http协议和Https协议
  11. 一道c++小编程题,
  12. 关于url传参中文乱码问题
  13. python批量替换文件_python实现文件名批量替换和内容替换
  14. C#获取C# DLL中的指定接口的所有实现实例 - qq_19759475的博客 - CSDN博客
  15. Java8新特性系列(序)
  16. CocosCreator 框架设计
  17. (三)洞悉linux下的Netfilteramp;iptables:内核中的rule,match和target
  18. 使用xpath解析爬取链家
  19. Java - 常用的Web服务器有哪些?
  20. 2021年美赛B题目简述(中英文)

热门文章

  1. 一文读懂蒲丰投针实验
  2. 许昌技术经济学校95级计算机,许昌技术经济学校2021年有哪些专业
  3. 数据采集卡知识:AI、DI、AO、DO、PI、AD、DA,触发器,计数器/定时器是什么意思?
  4. mac环境安装Eclipse 2020-03版报failed to create the java virtual machine错误的解决
  5. 别了,易科士,平安夜,我真正地属于中国平安了!
  6. 99物联 REALTEK IOT8710B模块SDK下载
  7. 平淡的感动:先挂电话的那个人……
  8. win10系统自定义日历应用背景图片怎么设置
  9. 【初识C语言】putchar函数
  10. 黑苹果 惠普笔记本电池补丁_惠普ProDesk 400 G3 DM黑苹果成功