什么是从进程内转储Linux核心文件的好方法?

前端之家收集整理的这篇文章主要介绍了什么是从进程内转储Linux核心文件的好方法?前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我们有一个服务器(用C和C编写),目前捕获一个SEGV并将一些内部信息转储到一个文件.当我们抓住SEGV时,我想生成一个核心文件并将其写入磁盘,因此我们的支持代表和客户不必为ulimit而烦恼,然后等待崩溃再次发生,以获得核心文件.我们过去使用了中止功​​能,但是它受制于ulimit规则,并没有帮助.

我们有一些遗留代码读取/ proc / pid / map并手动生成一个核心文件,但是它已经过时了,似乎不太可移植(例如,我猜测它不会在我们的64位编译).在Linux进程中生成和转储核心文件的最佳方式是什么?

解决方法

Google有一个库,用于从一个名为 google-coredumper的运行过程中生成核心转储.这应该忽略ulimit和其他机制.

生成核心文件调用文档为here.根据文档,似乎在信号处理程序中生成一个核心文件是可行的,尽管它不能保证始终工作.

猜你在找的Linux相关文章