To create new wiki account, please join us on #znc at Libera.Chat and ask admins to create a wiki account for you. You can say thanks to spambots for this inconvenience.

Debugging: Difference between revisions

From ZNC
Jump to navigation Jump to search
Why use --enable-debug?: cleanup the page
Line 39: Line 39:
=== Why use --enable-debug? ===
=== Why use --enable-debug? ===


With this flag <pre>bt full</pre> shows much more info, which is needed to understand why the crash had happened.
With this flag <code>bt full</code> shows much more info, which is needed to understand why the crash had happened.
If you're interested in details, search the Web for "debug symbols" or just try with and without.
If you're interested in details, search the Web for "debug symbols" or just try with and without.

Revision as of 18:04, 29 December 2011

Reporting bugs

Steps to do when you think you found a bug:

  • verify the bug exists in the latest version (Git)
  • report it at Github


Tracing crash bugs

Configure your ZNC version with --enable-debug.

./configure --enable-debug --enable-other-things-you-may-want
make
make install

Then you can run ZNC under gdb:

gdb ./znc
handle SIGPIPE nostop
run -D

Now you use ZNC as you would always do and try to make it crash. Once it crashed, gdb will show you something like this:

Program received signal SIGSEGV, Segmentation fault.

Now we can get the useful info. This info, together with an explanation how the bug happened are then very useful to the developers.

bt full

Why use --enable-debug?

With this flag bt full shows much more info, which is needed to understand why the crash had happened. If you're interested in details, search the Web for "debug symbols" or just try with and without.