]> granicus.if.org Git - icinga2/commitdiff
Enhance development docs with GDB backtrace and thread list 6607/head
authorMichael Friedrich <michael.friedrich@icinga.com>
Wed, 12 Sep 2018 10:32:00 +0000 (12:32 +0200)
committerMichael Friedrich <michael.friedrich@icinga.com>
Wed, 12 Sep 2018 10:32:00 +0000 (12:32 +0200)
doc/21-development.md

index 94619a412ca44f9dc1a357eeb1358f3482e3d4bc..4565fd94b5a74bb36573e334fb1e84cbcfe0b491 100644 (file)
@@ -175,7 +175,20 @@ make sure to attach as much detail as possible.
 If Icinga 2 is still running, generate a full backtrace from the running
 process and store it into a new file (e.g. for debugging dead locks):
 
-    # gdb -p $(pidof icinga2) -batch -ex "thread apply all bt full" -ex "detach" -ex "q" > gdb_bt.log
+Icinga 2 runs with 2 processes, therefore generate two backtrace logs
+and add them to the GitHub issue.
+
+```
+for pid in $(pidof icinga2); do gdb -p $pid -batch -ex "thread apply all bt full" -ex "detach" -ex "q" > gdb_bt_${pid}_`date +%s`.log; done
+```
+
+### GDB Thread List from Running Process <a id="development-debug-gdb-thread-list-running"></a>
+
+Instead of a full backtrace, you sometimes just need a list of running threads.
+
+```
+for pid in $(pidof icinga2); do gdb -p $pid -batch -ex "info threads" -ex "detach" -ex "q" > gdb_threads_${pid}_`date +%s`.log; done
+```
 
 ### GDB Backtrace Stepping <a id="development-debug-gdb-backtrace-stepping"></a>