Дамп ядра в вызове выхода libc - PullRequest
1 голос
/ 28 января 2011

Я вижу дамп ядра в Solaris при процедуре выхода из моей программы. Как отладить и исправить этот тип дампа ядра?

(gdb) where
#0  0xff2cc0c0 in kill () from /usr/lib/libc.so.1
#1  0x0004dac0 in run_before_killed_handler (sig=11) at NdmpServer.cpp:1186
#2  signal handler called
#3  0xfee0ad50 in ?? ()
#4  0x00060a6c in proc_cleanup ()
#5  0xff2421ac in _exithandle () from /usr/lib/libc.so.1
#6  0xff2305d8 in exit () from /usr/lib/libc.so.1
#7  0x0003431c in _start ()

Ответы [ 2 ]

2 голосов
/ 28 января 2011

Ваша программа, очевидно, использует atexit (3C) для регистрации обработчика выхода. В этом обработчике возникает проблема.

0 голосов
/ 28 января 2011

Не зная тонкостей структуры памяти Solaris, 0xfee0ad50, похоже, находится на стороне ОС.Какой вызов ОС вы пытаетесь (и не можете) сделать в proc_cleanup?

...