检查Linux服务器上的分段故障原因

时间:2016-03-08 07:57:38

标签: c linux

我有一个用C语言编写的Linux脚本部署在远程服务器上,多个客户端可以连接到该脚本。由于某些原因,脚本崩溃,当我尝试重新启动它时,我得到分段错误。我有什么方法可以在服务器端检查是什么阻止我的脚本启动,并且正在抛出分段错误。< / p>

1 个答案:

答案 0 :(得分:3)

首先启用核心转储:

$ ulimit -c unlimited

现在运行脚本,直到它出现段错误。这将在您的工作目录中创建核心转储文件。

接下来,使用GDB(或其任何前端)对其进行调试(请注意,如果无法在服务器上进行调试,则可以将文件复制到本地计算机上):

$ gdb -c <core_file>

不要忘记添加符号文件:

GDB> file my-prog

如果很容易重现问题,并且您可以直接在服务器上调试(使用SSH等),您可以直接进入并使用附带的调试器启动该过程:

$ gdb my-prog