Hey Surabhi,

If you want to just understand Ceph for starter, you can do that using debug logs.

1. In Ceph code, you may find `dout` related context, similar way you can plug in new logs at points you want to understand better and grep for them in log files present at build/out dir. 
Please ref. docs further on logging.

2. You can use gdb --args/attach to pid, and try out breakpoints after seeing logs which codepath is getting executed, when you perform any operation of interest. Eg.

 gdb –args /usr/bin/ceph-osd -d –cluster ceph –id <id> on a running cluster.

This shall help you with hitting breakpoints.

HTH 



On Thu, Jul 8, 2021 at 1:25 AM Surabhi GUPTA <sgupta267@wisc.edu> wrote:
Hi, 

I created a test ceph cluster of 3 nodes on a single host (following the readme in https://github.com/ceph/ceph/tree/pacific).
I am trying navigate the code using gdb breakpoints but it seems to not be working for me (I attached the pid of an osd node to gdb and set breakpoints, but the breakpoints are never hit). 

Could you please tell me what I could be missing and what is the recommended way to set up a debugger with the ceph source code? If there is a write-up that I might have missed, could you also please point me to that?

Thank You, 
Surabhi Gupta
Graduate Student - University of Wisconsin Madison
_______________________________________________
Dev mailing list -- dev@ceph.io
To unsubscribe send an email to dev-leave@ceph.io