How to run GDB to debug a process.

  • 7020446
  • 05-Apr-2013
  • 07-Aug-2017

Environment


GWAVA 4,5 and 6 on Linux (Includes SMTP appliance)

Situation

There are problems with GWAVA modules crashing that I can't pin down in the logs, and the core dumps don't work   How can I run the GNU debuger to see if I can find more information?

Resolution



This procedure can be used for any of the GWAVA processes except for ctasd (incorporated into the GWAVA process as of build 25 of GWAVA 6) and ctipd. *  Make sure the process you want to run in gdb is stopped.  See this article for the GWAVA stop/start command.

1) ** Using a Linux command line type: cd /opt/beginfinite/gwava/assets/bin/linux/x32/
Your command line should look something like this:

2) Type "gdb gwava" (If attempting to run a different process, subtitute "gwava" for that process.  For example: gdb gwvsmtp)

3
) Type "set args /consolelog"

4) Type "handle SIGUSR1 noprint nostop"


5) Start the process by typing "run"

6) If/ the process crashes it should go back to the prompt "(gdb)".  At this point you'll need to run "bt" to get more detailed information.

What follows is an example of what starting it up should look like right before you hit "enter" to run the GWAVA process:


gwgwia2:/opt/beginfinite/gwava/assets/bin/linux/x32 # gdb gwava
GNU gdb 6.6
Copyright (C) 2006 Free Software Foundation, Inc.
GDB is free software, covered by the GNU General Public License, and you are
welcome to change it and/or distribute copies of it under certain conditions.
Type "show copying" to see the conditions.
There is absolutely no warranty for GDB. Type "show warranty" for details.
This GDB was configured as "i586-suse-linux"...
Using host libthread_db library "/lib/libthread_db.so.1".
(gdb) set args /consolelog
(gdb) handle SIGUSR1 noprint nostop
Signal Stop Print Pass to program Description
SIGUSR1 No No Yes User defined signal 1
(gdb) run

In order to get the best information possible it is recommended to change the logging in GWAVA to diagnostic. See pages 53-54 in the admin guide on how to change that.

*Note: To troubleshoot ctasd or ctipd follow the links.
**Note: For versions prior to GWAVA 6 go to /opt/beginfinite/gwava/assets/bin/

Additional Information

This article was originally published in the GWAVA knowledgebase as article ID 2106.