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

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

概述我们有一个服务器(用C和C编写),目前捕获一个SEGV并将一些内部信息转储到一个文件.当我们抓住SEGV时,我想生成一个核心文件并将其写入磁盘,因此我们的支持代表和客户不必为ulimit而烦恼,然后等待崩溃再次发生,以获得核心文件.我们过去使用了中止功​​能,但是它受制于ulimit规则,并没有帮助. 我们有一些遗留代码读取/ proc / pid / map并手动生成一个核心文件,但是它已经过时 我们有一个服务器(用C和C编写),目前捕获一个SEGV并将一些内部信息转储到一个文件.当我们抓住SEGV时,我想生成一个核心文件并将其写入磁盘,因此我们的支持代表和客户不必为ulimit而烦恼,然后等待崩溃再次发生,以获得核心文件.我们过去使用了中止功​​能,但是它受制于ulimit规则,并没有帮助.

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

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

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

总结

以上是内存溢出为你收集整理的什么是从进程内转储Linux核心文件的好方法?全部内容,希望文章能够帮你解决什么是从进程内转储Linux核心文件的好方法?所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/yw/1033540.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-05-24
下一篇 2022-05-24

发表评论

登录后才能评论

评论列表(0条)

保存