加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 综合聚焦 > 服务器 > Linux > 正文

如何检测我的应用程序在linux中崩溃的位置

发布时间:2020-12-14 00:33:09 所属栏目:Linux 来源:网络整理
导读:嗨,我最近在用C编写的 linux项目中. 这个应用程序有几个进程,它们共享一块共享内存…当应用程序运行大约几个小时时,一个进程崩溃而没有任何足迹,因此知道问题是什么或我可以开始查看代码的位置非常困难…. 好吧,它可能是内存溢出或指针瘫痪…但我完全不知道
嗨,我最近在用C编写的 linux项目中.
这个应用程序有几个进程,它们共享一块共享内存…当应用程序运行大约几个小时时,一个进程崩溃而没有任何足迹,因此知道问题是什么或我可以开始查看代码的位置非常困难….
好吧,它可能是内存溢出或指针瘫痪…但我完全不知道……
你有任何工具或任何方法来检测问题……
如果它得到解决,我们将非常感激. thanx的建议……

解决方法

在启动程序之前,启用核心转储:

ulimit -c unlimited

(并确保进程的工作目录可由进程写入)

在进程崩溃后,它应该留下一个核心文件,然后你可以用gdb检查:

gdb /some/bin/executable core

或者,您可以在启动它时在gdb下运行该进程 – 当进程崩溃时,gdb将被唤醒.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读