From e6918187568dbd01842d8d1d2c808ce16a894239 Mon Sep 17 00:00:00 2001 From: Daniel Baumann Date: Sun, 21 Apr 2024 13:54:28 +0200 Subject: Adding upstream version 18.2.2. Signed-off-by: Daniel Baumann --- doc/dev/developer_guide/debugging-gdb.rst | 43 +++++++++++++++++++++++++++++++ 1 file changed, 43 insertions(+) create mode 100644 doc/dev/developer_guide/debugging-gdb.rst (limited to 'doc/dev/developer_guide/debugging-gdb.rst') diff --git a/doc/dev/developer_guide/debugging-gdb.rst b/doc/dev/developer_guide/debugging-gdb.rst new file mode 100644 index 000000000..153144431 --- /dev/null +++ b/doc/dev/developer_guide/debugging-gdb.rst @@ -0,0 +1,43 @@ +GDB - The GNU Project Debugger +============================== + +`The GNU Project Debugger (GDB) `_ is +a powerful tool that allows you to analyze the execution flow +of a process. +GDB can help to find bugs, uncover crash errors or track the +source code during execution of a development cluster. +It can also be used to debug Teuthology test runs. + +GET STARTED WITH GDB +-------------------- + +Basic usage with examples can be found `here. `_ +GDB can be attached to a running process. For instance, after deploying a +development cluster, the process number (PID) of a ``ceph-osd`` daemon can be found in:: + + $ cd build + $ cat out/osd.0.pid + +Attaching gdb to the process:: + + $ gdb ./bin/ceph-osd -p + +.. note:: + It is recommended to compile without any optimizations (``-O0`` gcc flag) + in order to avoid elimination of intermediate values. + +Stopping for breakpoints while debugging may cause timeouts, so the following +configuration options are suggested:: + + [osd] + osd_op_thread_timeout = 1500 + osd_op_thread_suicide_timeout = 1500 + +Debugging Teuthology Tests +^^^^^^^^^^^^^^^^^^^^^^^^^^ + +``src/script/ceph-debug-docker.sh`` can be used to analyze Teuthology failures:: + + $ ./ceph-debug-docker.sh + +Refer to the script header for more information. -- cgit v1.2.3