注意
本文档适用于 Ceph 开发版本。
GDB - GNU项目调试器
GNU项目调试器(GDB)是一个强大的工具,允许您分析进程的执行流程。
开始使用GDB
基本用法和示例可以在这里找到。GDB可以附加到一个正在运行的进程。例如,在部署开发集群后,守护进程的进程号(PID)可以在以下地方找到:
GDB can be attached to a running process. For instance, after deploying a
development cluster, the process number (PID) of a ceph-osd
守护进程的进程号(PID)可以在:
$ cd build
$ cat out/osd.0.pid
附加gdb到进程:
$ gdb ./bin/ceph-osd -p <pid>
Note
建议不进行任何优化(gcc标志),以避免消除中间值。-O0
gcc flag)
in order to avoid elimination of intermediate values.
调试时设置断点可能会导致超时,因此建议以下配置选项:
[osd]
osd_op_thread_timeout = 1500
osd_op_thread_suicide_timeout = 1500
调试Teuthology测试
src/script/ceph-debug-docker.sh
可以用来分析Teuthology失败:
$ ./ceph-debug-docker.sh <branch-name>
参考脚本头部以获取更多信息。
由 Ceph 基金会带给您
Ceph 文档是一个社区资源,由非盈利的 Ceph 基金会资助和托管Ceph Foundation. 如果您想支持这一点和我们的其他工作,请考虑加入现在加入.