我有一个用C语言编写的Linux脚本部署在远程服务器上,多个客户端可以连接到该脚本。由于某些原因,脚本崩溃,当我尝试重新启动它时,我得到分段错误。我有什么方法可以在服务器端检查是什么阻止我的脚本启动,并且正在抛出分段错误。< / p>
答案 0 :(得分:3)
首先启用核心转储:
$ ulimit -c unlimited
现在运行脚本,直到它出现段错误。这将在您的工作目录中创建核心转储文件。
接下来,使用GDB(或其任何前端)对其进行调试(请注意,如果无法在服务器上进行调试,则可以将文件复制到本地计算机上):
$ gdb -c <core_file>
不要忘记添加符号文件:
GDB> file my-prog
如果很容易重现问题,并且您可以直接在服务器上调试(使用SSH等),您可以直接进入并使用附带的调试器启动该过程:
$ gdb my-prog