1)我的守护进程有问题。它没有核心愚蠢的一代时间崩溃的时间。系统是FreeBSD。总是生成.core
之前。似乎这是一些其他类型的错误或其他事情发生,并退出没有核心。无论如何,我想知道这一点,并修复!cpp没有内核和gdb的gdb崩溃附加到工作进程
2)如何检查freebsd该核心必须100%确定生成? 这里:How to generate a core dump in Linux when a process gets a segmentation fault? 说ulimit -c unlimited
但Command not found
3)似乎捕获错误/崩溃我需要重视与GDB的过程?怎么做?还搜索到的计算器,并成立: gdb attach to a process without stop,但我注意到肯定,我做的所有权利:
一)我创建一个名为attach
文件给他的权限来执行,并添加此行:
echo "cont" > attach.gdb
gdb server $1 -x attach.gdb
rm attach.gdb
b )像./attach
运行,并开始,但我什么都不能做。这是正确的?我需要等待守护进程会崩溃,并写入generate-core-file
才能获得核心?
4)如果守护进程退出时没有SEGFAIL或其他异常,将由命令generate-core-file
生成核心?
感谢和抱歉我的英语。很难写出一些非母语的大信息。你必须明白......
谢谢,但它总是有用的.core文件,因为我无法监控守护进程在gdb下整天。并且你知道“爸爸的事情发生在你不指望他们的时候”,并且在最不合时宜的时刻 – abrahab
你不需要监控它,你可以让它保持运行,但是它在gdb下运行得更慢,并且如果有信号被提出。我只回答3和4关于使用gdb。要找出为什么没有核心文件找出守护进程退出时的退出状态(可能通过从脚本运行并在退出后打印$?)并找出为什么没有核心文件(也许它运行从没有权限写入文件的目录) –
您可以添加如何获取退出状态的分步说明吗?一些像我的问题一样使用./server |创建shell文件echo $> status.file? PS。不,它的写法后来在SIGFAIL上。) – abrahab