如何在Docker容器中debuggingseg错误?

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

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

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

通常情况下,这可以正常工作,但面对单个文件中的大量问题 – 例如缩小文件 – 进程段错误。 唯一的错误提供: Segmentation fault

由于本身在相同的代码基础上本身运行ESLint,因此我把这个原因归因于集装箱化。

我已经试验了显着增加内存和 – 容器无效,无济于事。 我也做了一些Googlesearch,但没有find一个类似的具体情况。

任何想法的下一步debugging这个问题?

谢谢!

您可以通过在启动您的应用程序的脚本中运行ulimit -c unlimited来允许核心文件。 然后你可以用一个debugging器(例如gdb)来处理核心文件,以find段错误的原因。 为了从停止的容器中获取核心文件,有docker cp $container_id:/path/to/core /host/destination/core

    Interesting Posts