How to debug for reporting: Difference between revisions

From Scribus Wiki
Jump to navigation Jump to search
(updated gdb on windows link)
 
(6 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 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 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
: 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 can be reproduced, then you will be able to attach to its report a backtrace from a debugger.'''
'''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 Debug Report  =
= 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/index.php/GDB_on_Windows.html How-to] explains how to run gdb under Microsoft Windows.
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]]
* [[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.

  1. 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.
  2. When Scribus crashes you will automatically see details generated about the error by gdb.
  3. 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?

Related Links