1.. _How_to_report_bugs:
2
3******************
4How to report bugs
5******************
6
7GtkAda is a mature, stable toolkit that is heavily and widely used on a variety
8of platforms.  We test GtkAda using an Ada version of the :file:`testgtk.c`
9file found in the gtk+ distribution, as well as by generating a significant
10number of interfaces using the GUI builder and Gate.  For code examples that
11demonstrate the use of this toolkit, look within the :file:`testgtk/`
12directory.
13
14There are two kinds of problems you can encounter:
15
16* If the gtk library itself was compiled with warnings turned on, you may get
17  some  warning messages,  mainly because of types problems.  These warnings
18  should not appear, as we have tried to be as type safe as possible  in this
19  package. To know exactly where the problem is, compile your program with
20  debug information, run gdb, and set a breakpoint on the function `g_log`.
21  Then run your program as usual, using the `run` command. Then send us the
22  result of the `where` command. Here is a summary::
23
24    $ gnatmake -f -g <your_program_name> `gtkada-config`
25    $ gdb <your_program_name>
26    (gdb) break main
27    (gdb) run
28    (gdb) break g_log
29    (gdb) continue
30    ....
31    (gdb) where
32
33* In  some  (hopefully) rare cases,   you can even get a  segmentation
34  fault within gtk.  That means there is definitly something wrong either
35  in your program or in the toolkit.  Please check your program carefully
36  and, if you think this is a problem in GtkAda itself, send us an e-mail.
37
38If you are a supported user of GNAT, send mail to `mailto:report@gnat.com
39<mailto:report@gnat.com>`_ to report errors, otherwise send mail to the GtkAda
40list (`mailto:gtkada@lists.adacore.com <mailto:gtkada@lists.adacore.com>`_)
41explaining exactly what your are  doing,  what  is  the  expected  result  and
42what  you actually get. Please include the required sources to reproduce the
43problem, in a  format usable  by `gnatchop`  (basically, insert all  the
44required sources at  the end of  the mail). Please  try to provide as small as
45possible a  subset of your sources.
46
47Of course, we will  welcome any patch   you can provide, so  that this toolkit
48may be as useful as possible.
49
50