Oracle 5.0 Reference Manual page 2845

Table of Contents

Advertisement

21.3.1.5. Using a Stack Trace
On some operating systems, the error log contains a stack trace if
use this to find out where (and maybe why)
a stack trace, you must not compile
Section 21.3.1.1, "Compiling MySQL for
A stack trace in the error log looks something like this:
mysqld got signal 11;
Attempting backtrace. You can use the following information
to find out where mysqld died. If you see no messages after
this, something went terribly wrong...
stack range sanity check, ok, backtrace follows
0x40077552
0x81281a0
0x8128f47
0x8127be0
0x8127995
0x8104947
0x80ff28f
0x810131b
0x80ee4bc
0x80c3c91
0x80c6b43
0x80c1fd9
0x80c1686
You can use the
procedure:
1. Copy the preceding numbers to a file, for example mysqld.stack:
0x9da402
0x6648e9
0x7f1a5af000f0
0x7f1a5a10f0f2
0x7412cb
0x688354
0x688494
0x67a170
0x67f0ad
0x67fdf8
0x6811b6
0x66e05e
2. Make a symbol file for the
shell>
nm -n libexec/mysqld > /tmp/mysqld.sym
If
mysqld
shell>
nm -D -n libexec/mysqld > /tmp/mysqld.sym
If you want to decode C++ symbols, use the --demangle, if available, to nm. If your version of
does not have this option, you will need to use the
been produced to demangle the C++ names.
3. Execute the following command:
shell>
resolve_stack_dump -s /tmp/mysqld.sym -n mysqld.stack
If you were not able to include demangled C++ names in your symbol file, process the
resolve_stack_dump
shell>
resolve_stack_dump -s /tmp/mysqld.sym -n mysqld.stack | c++filt
Debugging a MySQL Server
mysqld
resolve_stack_dump
mysqld
is not linked statically, use the following command instead:
output using c++filt:
died. See
mysqld
with the
-fomit-frame-pointer
Debugging".
utility to determine where
server:
c++filt
2825
dies unexpectedly. You can
mysqld
Section 5.2.1, "The Error
option to gcc. See
died by using the following
mysqld
command after the stack dump has
Log". To get
nm

Advertisement

Table of Contents
loading

This manual is also suitable for:

Mysql 5.0

Table of Contents