On Fri, Sep 21, 2012 at 03:51:22PM +0200, Olaf Hering wrote:
On Fri, Sep 21, Richard W.M. Jones wrote:
> On Fri, Sep 21, 2012 at 03:40:35PM +0200, Olaf Hering wrote:
> > gdb is certainly more advanced, something like 'var="gdb --readnow -ex
r
> > -ex bt -ex quit' ; $var guestfsd' would be good enough, or gdb
> > --command=FILE.
> > As you say, without adding debuginfo into guest the backtrace would be
> > not that useful. But its better than nothing.
>
> glibc -- on Fedora -- prints a stack trace on exit, so we've not had a
> need to get one out using gdb. A core dump would be the really useful
> thing for us.
How does it do that, via a segfault handler? I mean, is that a private
patch or something in upstream glibc?
What I said there wasn't quite correct.
Every C binary in Fedora is compiled with -D_FORTIFY_SOURCE=2 which
provides a stack trace when string functions fail. I was probably
confused by seeing those.
But segfaults are not included in this, and they in fact don't
give a stack trace.
Doing
LD_PRELOAD=/lib64/libSegFault.so
does cause all segfaulting programs to produce a stack trace.
Rich.
--
Richard Jones, Virtualization Group, Red Hat
http://people.redhat.com/~rjones
Read my programming blog:
http://rwmj.wordpress.com
Fedora now supports 80 OCaml packages (the OPEN alternative to F#)
http://cocan.org/getting_started_with_ocaml_on_red_hat_and_fedora