我有一个核心档案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 ?? ()
我不知道为什么会生成核心文件。我可以从上面的信息中找出核心文件生成的原因吗?
答案 0 :(得分:1)
“/ usr / bin / perl -w”在上面指出了什么?
正在执行的程序(perl
)及其第一个参数(-w
,它启用了警告)。
我可以从上述信息中找到为何生成核心文件。
看起来信号处理程序中发生了异常。如果发生这种情况,我不会感到惊讶,因为程序员明确禁用safe signals或使用POSIX::sigaction
安装了自己的处理程序。这是预期的结果。