如何在docker容器中调试seg fault?

时间:2016-08-12 15:13:41

标签: javascript docker segmentation-fault

我在容器中运行ESLint - javascript文件的linter: https://github.com/codeclimate/codeclimate-eslint

该程序运行ESLint cli analyze命令,并提供一个代码目录,以便在容器中作为卷进行分析。

程序捕获ESLint结果并重新格式化,然后重新输出到STDOUT。

通常这种方法很好,但面对单个文件中的大量问题 - 例如缩小文件 - 进程 segfaults 。提供的唯一错误: Segmentation fault

由于ESLint本身在同一代码库上本身运行,因此我将原因归结为与容器化相关的内容。

我已经尝试过显着增加内存并且 - 容器上的空间无济于事。我也做了一些谷歌搜索,但没有找到一个听起来相似的具体案例。

有关调试此问题的良好后续步骤的任何想法吗?

谢谢!

1 个答案:

答案 0 :(得分:1)

您可以通过在启动应用的脚本中运行ulimit -c unlimited来允许核心文件。然后,您可以使用调试器(例如gdb)处理核心文件,以查找segfault的原因。要从已停止的容器中获取核心文件,请docker cp $container_id:/path/to/core /host/destination/core