生成子进程的核心转储文件
Posted
技术标签:
【中文标题】生成子进程的核心转储文件【英文标题】:Generating a Core Dump File of a child process 【发布时间】:2010-03-03 11:10:18 【问题描述】:我正在尝试使用 exec() 从我的 php 脚本运行 gpg。但它与分段错误相冲突: “gpg:分段错误被捕获......退出” 它在子进程中崩溃,所以我的 php 脚本可以正常工作。为了确定一个问题,我想要一个核心文件。 我试着跑了
ulimit -c unlimited
echo 1 > /proc/sys/fs/suid_dumpable
我在 /etc/security/limits.conf 中添加了“* soft core unlimited”,但没有创建任何核心文件。
我会非常感谢任何建议或想法。
【问题讨论】:
【参考方案1】:从输出消息来看,gpg 似乎捕获了异常(这是真的吗?)。
如果适用,您可以尝试gcore
命令。否则,如果源代码可用(我假设它是可用的,因为您正在调试它),您可以使用例如 google-coredumper。不确定这对您是否足够。
【讨论】:
我有资源,但我不明白 google-coredumper 可以如何帮助我。它能够在代码中的某个位置转储,但我不知道它崩溃的某个位置。 @sfoid 另一种选择是尝试使用 valgrind 运行它,这可能会指出错误。看起来是个棘手的问题。【参考方案2】:您可能会开始认为您的问题可能是 gpg 捕获了一些异常或 PERMISSION 问题。 先检查一下。
希望有帮助
【讨论】:
以上是关于生成子进程的核心转储文件的主要内容,如果未能解决你的问题,请参考以下文章