docs/debugging: make the difference between logging and verbose logging more clear, little style fixes

This commit is contained in:
Michael Stapelberg 2011-07-27 16:13:15 +02:00
parent eea804cd94
commit 118a37510d
1 changed files with 18 additions and 11 deletions

View File

@ -1,7 +1,7 @@
Debugging i3: How To Debugging i3: How To
==================== ====================
Michael Stapelberg <michael+i3@stapelberg.de> Michael Stapelberg <michael+i3@stapelberg.de>
April 2009 July 2011
This document describes how to debug i3 suitably for sending us useful bug This document describes how to debug i3 suitably for sending us useful bug
reports, even if you have no clue of C programming. reports, even if you have no clue of C programming.
@ -12,14 +12,21 @@ debugging and/or need further help, do not hesitate to contact us!
== Enabling logging == Enabling logging
i3 spits out much information onto stdout. To have a clearly defined place i3 logs useful information to stdout. To have a clearly defined place where log
where log files will be saved, you should redirect stdout and stderr in files will be saved, you should redirect stdout and stderr in your
xsession. While youre at it, putting each run of i3 in a separate log file +~/.xsession+. While youre at it, putting each run of i3 in a separate log
with date/time in it is a good idea to not get confused about the different file with date/time in its filename is a good idea to not get confused about
log files later on. the different log files later on.
-------------------------------------------------------------------- --------------------------------------------------------------------
exec /usr/bin/i3 >/home/michael/i3/i3log-$(date +'%F-%k-%M-%S') 2>&1 exec /usr/bin/i3 >~/i3log-$(date +'%F-%k-%M-%S') 2>&1
--------------------------------------------------------------------
To enable verbose output and all levels of debug output (required when
attaching logfiles to bugreports), add the parameters +-V -d all+, like this:
--------------------------------------------------------------------
exec /usr/bin/i3 -V -d all >~/i3log-$(date +'%F-%k-%M-%S') 2>&1
-------------------------------------------------------------------- --------------------------------------------------------------------
== Enabling core dumps == Enabling core dumps
@ -29,7 +36,7 @@ of the memory of the i3 process which can be loaded into a debugger). To get a
core dump, you have to make sure that the user limit for core dump files is set core dump, you have to make sure that the user limit for core dump files is set
high enough. Many systems ship with a default value which even forbids core high enough. Many systems ship with a default value which even forbids core
dumps completely. To disable the limit completely and thus enable core dumps, dumps completely. To disable the limit completely and thus enable core dumps,
use the following command (in your .xsession, before starting i3): use the following command (in your +~/.xsession+, before starting i3):
------------------- -------------------
ulimit -c unlimited ulimit -c unlimited
@ -50,9 +57,9 @@ process id (%p) in it. You can save this setting across reboots using
== Compiling with debug symbols == Compiling with debug symbols
To actually get useful core dumps, you should make sure that your version of i3 To actually get useful core dumps, you should make sure that your version of i3
is compiled with debug symbols, that is, that they are not stripped during the is compiled with debug symbols, that is, that the symbols are not stripped
build process. You can check whether your executable contains symbols by during the build process. You can check whether your executable contains
issuing the following command: symbols by issuing the following command:
---------------- ----------------
file $(which i3) file $(which i3)