# 15. How to report bugs

GtkAda is a mature, stable toolkit that is heavily and widely used on a variety of platforms. We test GtkAda using an Ada version of the `testgtk.c` file found in the gtk+ distribution. For code examples that demonstrate the use of this toolkit, look within the `testgtk/` directory.

There are two kinds of problems you can encounter:

- If the gtk library itself was compiled with warnings turned on, you may get some warning messages, mainly because of types problems. These warnings should not appear, as we have tried to be as type safe as possible in this package. To know exactly where the problem is, compile your program with debug information, run gdb, and set a breakpoint on the function g_log. Then run your program as usual, using the run command. Then send us the result of the where command. Here is a summary:

      $ gprbuild -Pyour_project.gpr -g
      $ gdb <your_program_name>
      (gdb) break main
      (gdb) run
      (gdb) break g_log
      (gdb) continue
      ....
      (gdb) where

- In some (hopefully) rare cases, you can even get a segmentation fault within gtk. That means there is definitly something wrong either in your program or in the toolkit. Please check your program carefully and, if you think this is a problem in GtkAda itself, send us an e-mail.

If you are a supported user of GNAT, send mail to mailto:report@gnat.com to report errors, otherwise send mail to the GtkAda list (mailto:gtkada@lists.adacore.com) explaining exactly what your are doing, what is the expected result and what you actually get. Please include the required sources to reproduce the problem, in a format usable by gnatchop (basically, insert all the required sources at the end of the mail). Please try to provide as small as possible a subset of your sources.

Of course, we will welcome any patch you can provide, so that this toolkit may be as useful as possible.