我正在运行的程序,读取少量文件并将输出扔到控制台。程序中没有太多的智能功能,只是文件具有十六进制转储数据,并以格式正确的方式显示在控制台上。对于文件中的每个部分,都有一个用于格式化数据的插件(.so)。我面临的问题是文件打印后程序崩溃。在程序崩溃之前,我将其粘贴到程序的strace输出的有限部分下面。
open("/tmp/5000701d-314.trace.20", O_WRONLY|O_CREAT|O_TRUNC|O_LARGEFILE, 0666) = 10 <0.000026>
write(10, "\1(\4BDCCL\0\0\0\0\0\0\0\0\0\0\0\0\0\0\3\360\0\0\0\0\0\0\3\360"..., 1008) = 1008 <0.000024>
close(10) = 0 <0.000019>
write(1, "Calling fsp-trace -s /nfs/trexSt"..., 445) = 445 <0.000145>
rt_sigaction(SIGINT, {SIG_IGN, [], 0}, {SIG_DFL, [], 0}, 8) = 0 <0.000015>
rt_sigaction(SIGQUIT, {SIG_IGN, [], 0}, {SIG_DFL, [], 0}, 8) = 0 <0.000013>
rt_sigprocmask(SIG_BLOCK, [CHLD], [], 8) = 0 <0.000013>
clone(child_stack=0, flags=CLONE_PARENT_SETTID|SIGCHLD, parent_tidptr=0xbfe25714) = 317 <0.001806>
waitpid(317, [{WIFEXITED(s) && WEXITSTATUS(s) == 0}], 0) = 317 <0.507366>
rt_sigaction(SIGINT, {SIG_DFL, [], 0}, NULL, 8) = 0 <0.000016>
rt_sigaction(SIGQUIT, {SIG_DFL, [], 0}, NULL, 8) = 0 <0.000014>
rt_sigprocmask(SIG_SETMASK, [], NULL, 8) = 0 <0.000014>
--- SIGCHLD {si_signo=SIGCHLD, si_code=CLD_EXITED, si_pid=317, si_status=0, si_utime=0, si_stime=0} ---
unlink("/tmp/5000701d-314.trace.3") = 0 <0.000056>
unlink("/tmp/5000701d-314.trace.4") = 0 <0.000034>
unlink("/tmp/5000701d-314.trace.6") = 0 <0.000033>
unlink("/tmp/5000701d-314.trace.8") = 0 <0.000032>
unlink("/tmp/5000701d-314.trace.9") = 0 <0.000032>
unlink("/tmp/5000701d-314.trace.10") = 0 <0.000031>
unlink("/tmp/5000701d-314.trace.11") = 0 <0.000032>
unlink("/tmp/5000701d-314.trace.12") = 0 <0.000031>
unlink("/tmp/5000701d-314.trace.13") = 0 <0.000032>
unlink("/tmp/5000701d-314.trace.14") = 0 <0.000031>
unlink("/tmp/5000701d-314.trace.15") = 0 <0.000032>
unlink("/tmp/5000701d-314.trace.16") = 0 <0.000068>
unlink("/tmp/5000701d-314.trace.18") = 0 <0.000032>
unlink("/tmp/5000701d-314.trace.19") = 0 <0.000032>
unlink("/tmp/5000701d-314.trace.20") = 0 <0.000032>
ioctl(3, 0xc0046809, 0xbfe29418) = 0 <0.000025>
write(1, "returning from errlDisplayEntry "..., 33) = 33 <0.000081>
munmap(0x48046000, 159539) = 0 <0.000118>
rt_sigprocmask(SIG_UNBLOCK, [ABRT], NULL, 8) = 0 <0.000015>
tgkill(314, 314, SIGABRT) = 0 <0.000017>
coredump文件不会抛出有效的堆栈回溯。我想知道是否有人对这里可能发生的事情有了解。