Debugging¶
Author: Pascal Withopf <pascalwithopf1@gmail.com>
Target audience are developers and users who need to debug an error with tests. For debugging with rsyslog.conf see troubleshooting.
Debugging with tests¶
When you want to solve a specific problem you will probably create a test
and want to debug with it instead of configuring rsyslog. If you want to
write a debug log you need to open the file ../rsyslog/tests/diag.sh
and delete the # in front of the two lines:
export RSYSLOG_DEBUG=”debug nologfuncflow noprintmutexaction nostdout”
export RSYSLOG_DEBUGLOG=”log”
A debug log will be writen now, but remember to put the # back again
before commiting your changes. Otherwise it won’t work.
Memory debugging¶
You can’t use multiple memory debugger at the same time. This will resort
in errors. Also remember to undo all changes in diag.sh after you are done,
because it will also resort in errors if you commit them with your work.
Valgrind¶
If you want to use Valgrind you need to enable it for tests.
To do that open the file ../rsyslog/tests/diag.sh and delete the #
in front of the line:
valgrind=”valgrind –malloc-fill=ff –free-fill=fe –log-fd=1”
This will enable valgrind and you will have extra debugging in your test-suite.log file.
Address sanitizer¶
If you want to use adress sanitizer you need to set your CFLAGS. Use this command:
export CFLAGS=”-g -fsanitizer=address”
After this is done you need to configure and build rsyslog again, otherwise it won’t work.
See also
Help with configuring/using Rsyslog
:
- Mailing list - best route for general questions
- GitHub: rsyslog source project - detailed questions, reporting issues
that are believed to be bugs with
Rsyslog
- Stack Exchange (View, Ask) - experimental support from rsyslog community
See also
Contributing to Rsyslog
:
- Source project: rsyslog project README.
- Documentation: rsyslog-doc project README