How to debug for reporting: Difference between revisions
No edit summary |
(updated gdb on windows link) |
||
(7 intermediate revisions by 2 users not shown) | |||
Line 1: | Line 1: | ||
[[Category:EN]][[Category:Development]][[Category:Tips]][[Category:Easyhacks]] | [[Category:EN]][[Category:Development]][[Category:Tips]][[Category:Easyhacks]] | ||
{{TOC left}} | |||
=Introduction= | =Introduction= | ||
This page assumes: | This page assumes: | ||
: You understand the basics of [[How to file a bug report|"How to file a bug report"]] | |||
: You have searched through the [http://bugs.scribus.net 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. | Therefore it will be useful to try to reproduce the bug, and to find out what is the simplest scenario where/when it happens. | ||
{{Clear}} | |||
= Goal = | = Goal = | ||
'''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 | '''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.''' | ||
= Generating a | = Generating a backtrace = | ||
==On Linux== | ==On Linux== | ||
Line 40: | 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? | ||
Line 46: | Line 47: | ||
= Related Links = | = Related Links = | ||
* [[How to file a bug report]] | * [[How to file a bug report]] | ||
* [[Development Tricks]] |
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?