How to debug for reporting: Difference between revisions
(→Goal) |
(updated gdb on windows link) |
||
(One intermediate revision by one other user not shown) | |||
Line 11: | Line 11: | ||
'''The goal is to help the developers get a grip on the bug and to understand how to troubleshoot it. ''' | '''The goal is to help the developers get a grip on the bug and to understand how to troubleshoot it. ''' | ||
'''When your bug is a | '''When your bug is a reproduce-able crash, then you will be able to attach to its report a backtrace from a debugger.''' | ||
'''This Howto tells you how to generate this information.''' | '''This Howto tells you how to generate this information.''' | ||
Line 41: | Line 41: | ||
==On Microsoft Windows== | ==On Microsoft Windows== | ||
I've not tried it, but this [http://hamsterrepublic.com/ohrrpgce/ | I've not tried it, but this [http://rpg.hamsterrepublic.com/ohrrpgce/Gdb How-to explaining how to run gdb under Microsoft Windows]. | ||
Can anybody try it out and, eventually, report here if it works? | Can anybody try it out and, eventually, report here if it works? |
Latest revision as of 02:15, 8 September 2014
Introduction
This page assumes:
- You understand the basics of "How to file a bug report"
- You have searched through the Scribus bug tracker and found out that your bug had not yet been reported
- You've searched this wiki for the issue and have come up empty-handed
Therefore it will be useful to try to reproduce the bug, and to find out what is the simplest scenario where/when it happens.
Goal
The goal is to help the developers get a grip on the bug and to understand how to troubleshoot it.
When your bug is a reproduce-able crash, then you will be able to attach to its report a backtrace from a debugger.
This Howto tells you how to generate this information.
Generating a backtrace
On Linux
If the crash happens on a Linux machine (or generally on a unix machine with the GNU gcc compiler) you can use gdb
AKA The GNU Debugger.
- You have to first load scribus in a new gdb session and launch Scribus from there, in other words you are invoking Scribus within the GNU Debugger.
- When Scribus crashes you will automatically see details generated about the error by
gdb
. - Generate a full report with the command bt (backtrace).
$ gdb scribus (gdb) run ... error reporting ... (gdb) bt ... full backtracking information (gdb) exit $
NOTE: If you can compile Scribus yourself from source -- and you plan to report bugs -- you should enable the debugging at compile time:
- With Cmake (
cmake; make; make install
) , you should add -DWANT_DEBUG=1 to your cmake line, e.g.:
cmake . -DCMAKE_INSTALL_PREFIX:PATH=/opt/scribus15svn -DWANT_DEBUG=1
On Microsoft Windows
I've not tried it, but this How-to explaining how to run gdb under Microsoft Windows.
Can anybody try it out and, eventually, report here if it works?