How to debug for reporting

From Scribus Wiki
Revision as of 19:00, 25 February 2014 by Kunda (talk | contribs) (added topic)
Jump to navigation Jump to search

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 can be reproduced, 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 Debug Report

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 explains how to run gdb under Microsoft Windows.

Can anybody try it out and, eventually, report here if it works?