我有一个用C语言编写的Linux脚本,部署在远程服务器上,多个客户端可以连接到该脚本。由于某种原因,脚本崩溃了,当我尝试重新启动时,我遇到了分段错误。是否有任何方法可以在服务器端检查停止脚本启动的操作,并引发分段错误错误。检查Linux服务器上的分段错误的原因
回答
通过使核心开始了转储:
$ ulimit -c unlimited
现在运行脚本,直到它出现segfaults。这将在您的工作目录中创建一个核心转储文件。
接下来,使用GDB(或其中的任何前端)进行调试(请注意,您可以将文件复制到本地机器上,如果你不能在服务器上调试):
$ gdb -c <core_file>
别别忘了添加符号文件:
GDB> file my-prog
如果很容易重现该问题,并提供您可以直接在服务器上调试(使用SSH或这样的),你可以简单地潜水,并以启动该进程调试器附件:
$ gdb my-prog
什么是符号文件,它的用途是什么? –
@Asusgates这是一个GDB用来知道程序引用的某些内存地址的函数,变量等名称的文件。 –
@Asusgates也许同样重要的是要提到最好用'-g' GCC标志编译你的代码。 –
- 1. 分段错误的原因
- 2. 注释掉Printf原因分段错误
- 3. 生产服务器上的致命错误,分段是好的
- 4. 链接服务器错误的未知原因
- 5. 在Linux上接受()的分段错误
- 6. [R闪亮服务器分段错误
- 7. Https服务器上的节点js分段错误
- 8. Linux中的分段错误
- 9. 因为我不知道的原因获取内部服务器错误
- 10. NULL检查中的分段错误?
- 11. 配置和检查Linux服务器上的核心转储
- 12. 检查是否在Linux服务器上运行的jar文件
- 13. 检查未定义的原因未定义的错误
- 14. IPhone分手的我的字符串原因“和”从服务器
- 15. 如何检查在linux服务器上分配给tomcat的内存
- 16. 这种分段错误的原因是什么?
- 17. 这个程序中分段错误的原因是什么?
- 18. C中的分段错误,似乎无法找到原因
- 19. 无法确定分段错误的原因
- 20. free()之后的分段错误,这是什么原因?
- 21. 没有明显原因的分段错误
- 22. 如何检测503服务暂时不可用错误的原因并处理?
- 23. 在Linux服务器上的Oracle 12514错误
- 24. 函数给出错误的Linux服务器上
- 25. 有趣的Facebook状态码在Linux服务器上的错误500错误,PHP
- 26. 范围检查错误的原因(德尔福)
- 27. Linux插槽/分段错误
- 28. 服务器错误在Linux编程PHP
- 29. angularjs检查服务器上的授权
- 30. 从服务器检查另一台服务器上的文件
允许服务器创建[*核心转储*](https://en.wikipedia.org/wiki/Core_dump),然后将其复制并与调试器一起使用。 –