2016-01-19 54 views
-1

我有一個核心文件core.1614762需要知道爲什麼核心文件已基因處理

當我做file core.1614762,輸出是

core.1614762:ELF 64位LSB核心文件x86-64的,版本1(SYSV),SVR4式,從「的/ usr /斌/ perl -w/alcatel/omc3/usmcmd/script/cmdsession -f/alcatel/var/home/ax。

/usr/bin/perl -w是什麼意思?

我做了gdb的核心文件(gdb /usr/bin/perl core.1614762);回溯顯示爲Perl_csighandler

#0 0x000000384ca95002 in Perl_csighandler() from /usr/lib64/perl5/CORE/libperl.so 
#1 <signal handler called> 
#2 0x000000384a235e30 in __cxa_finalize() from /lib64/libc.so.6`enter code here` 
#3 0x0000003855e1bdd6 in ??() from /usr/lib64/firefox/libnspr4.so 
#4 0x0000000000000017 in ??() 
#5 0x0000000000000000 in ??() 

我不知道爲什麼生成核心文件。我可以找出爲什麼核心文件是從上述信息生成的?

回答

1

「/ usr/bin/perl -w」是什麼意思?

正被執行的程序(perl)和它的第一個參數(-w,這使警告)。

我可以找到爲什麼從上面的信息產生的核心文件。

看起來像信號處理程序中發生的異常。如果發生這種情況,我不會感到驚訝,因爲程序員明確禁用safe signals或使用POSIX::sigaction安裝了自己的處理程序。這是一個預期的結果。

+0

嗨ikegami,在代碼中沒有POSIX :: sigaction。代碼有'使用POSIX':sys_wait_h''行。它是否在信號處理程序中創建任何異常?請建議 –

+0

那麼,只是進口符號,包括'WNOHANG' – ikegami

+0

上面的堆棧是不足以分析問題。有沒有辦法從gdb獲得更多堆棧? –

相關問題