需要知道为什么核心文件已经发生了变化

时间:2016-01-19 12:55:29

标签: perl gdb

我有一个核心档案core.1614762

当我file core.1614762时,输出为

  

core.1614762:ELF 64位LSB核心文件x86-64,版本1(SYSV),SVR4样式,来自'/ usr / bin / perl -w / alcatel / omc3 / usmcmd / script / cmdsession -f /阿尔卡特的/ var /家/斧。

上面/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 个答案:

答案 0 :(得分:1)

  

“/ usr / bin / perl -w”在上面指出了什么?

正在执行的程序(perl)及其第一个参数(-w,它启用了警告)。

  

我可以从上述信息中找到为何生成核心文件。

看起来信号处理程序中发生了异常。如果发生这种情况,我不会感到惊讶,因为程序员明确禁用safe signals或使用POSIX::sigaction安装了自己的处理程序。这是预期的结果。