Re: How to get core from SEGV?



Liam' advice would work for most GNU/Linux distributions, but since you are running gpdf on Solaris 10, try this:

coreadm -g /var/tmp/core.%f.%p


This command will enable core files and send them to /var/tmp. The corefiles will be named core.{executable filename}.{processid}
Man coreadm for more info.

Liam R E Quin wrote:
On Fri, 2006-08-18 at 16:42 -0500, Albert Chin wrote:
We've built gpdf-2.10.0 on Solaris 10 but it's dieing on startup. We'd
like to examine the core file but none is generated. We're rerun with
GNOME_DISABLE_CRASH_DIALOG=1 but that didn't work. We then removed the
SIGSEGV handler from GConf but still cannot get a core file to debug.
How do we get a core?

[1] make sure you have enough disk space -- you may need several hundred
    megabytes spare
[2] check ulimit -c says "unlimited" and if not,
    change it
[3] check you don't have a directory called "core"
[4] test, e.g. by doing
    $ cat
    and pressing control-backslash (C-\)
    this should generate a core file.
The core file might be called 'core' or 'core.3901' where
3901 is the process id and will vary, or core.cat, or something else.

You can also run gpdf in a debugger such as dbx or gdb,
and get a backtrace.  There are plenty of tutorials on
how to debug C programs out there that will show you
the commands to use.

Watch, if single-stepping through a program, that if the program does
a screen grab to take control of pointer and focus, you won't be able
to get back to the debugger.  Either disable screen grabs, or
debug from a remote machine if that's a problem.  Some X servers have
key combinations you can configure to break a screen grab.

Liam





[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]