为什么都是linux系统,x86这种就很稳定,各种嵌入式就很不稳定呢?

flying_music 2020-11-13 02:19:38
自己用服务器从来没有发现过系统的问题,但嵌入式上面就经常出问题,最头痛的就是一个指针越界就可能导致系统重启,请问这是内核被裁剪了的原因吗,具体是裁剪了哪部分呢,为啥把这么关键的东西裁剪掉呢?大神帮忙分析一下
...全文
216 7 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
NorZ 2020-11-16
  • 打赏
  • 举报
回复
引用 6 楼 flying_music 的回复:
[quote=引用 5 楼 NorZ 的回复:][quote=引用 4 楼 flying_music 的回复:][quote=引用 3 楼 NorZ 的回复:][quote=引用 2 楼 flying_music 的回复:][quote=引用 1 楼 NorZ 的回复:]...内存越界访问,你怎么会认为是系统的原因?不是代码的问题吗?
我知道内存越界不是系统原因,但指针越界系统就重启不很难受吗,指针越界不是一种常见的程序错误吗,程序崩溃就可以了,为啥整个操作系统都要重启呢,是不明白这个问题[/quote] 大概率是系统关键进程内发生了越界吧?嵌入式系统有很多,也不是所有的都会因为内存越界就重启,多数 linux 系统的,都是进程 crash,如果是服务进程就会重启进程。先说是什么系统吧。[/quote] 系统是aarch64-linux的。。估计您也没听说过吧,进程就是普通的用户进程,确实不是每次越界都会重启,但一旦重启就很难定位,没啥错误打印,直接就进入重启流程了,总之对开发很不友好,所以就很好奇x86是通过什么机制保障崩溃不重启的[/quote] aarch64-linux 你这名字只能看出来是64位arm架构的linux,内核版本和cpu平台呢?每次系统异常重启都会保存系统日志,不如先查一下重启的原因?[/quote] 遇到几次了,系统日志也分析过,有SIGSEGV 指针越界的,有OOM内存耗尽的,最近这次是提示收到了了SIGPIPE,但最终定位发现是出现了除数为0的情况,现在问题是解决了,就像探究一下为啥就非得重启,x86到底高在哪儿了[/quote] 应该还是和架构无关,比如手机Android上调试,段错误是不会重启的,应该还是内核配置的问题
flying_music 2020-11-13
  • 打赏
  • 举报
回复
引用 5 楼 NorZ 的回复:
[quote=引用 4 楼 flying_music 的回复:][quote=引用 3 楼 NorZ 的回复:][quote=引用 2 楼 flying_music 的回复:][quote=引用 1 楼 NorZ 的回复:]...内存越界访问,你怎么会认为是系统的原因?不是代码的问题吗?
我知道内存越界不是系统原因,但指针越界系统就重启不很难受吗,指针越界不是一种常见的程序错误吗,程序崩溃就可以了,为啥整个操作系统都要重启呢,是不明白这个问题[/quote] 大概率是系统关键进程内发生了越界吧?嵌入式系统有很多,也不是所有的都会因为内存越界就重启,多数 linux 系统的,都是进程 crash,如果是服务进程就会重启进程。先说是什么系统吧。[/quote] 系统是aarch64-linux的。。估计您也没听说过吧,进程就是普通的用户进程,确实不是每次越界都会重启,但一旦重启就很难定位,没啥错误打印,直接就进入重启流程了,总之对开发很不友好,所以就很好奇x86是通过什么机制保障崩溃不重启的[/quote] aarch64-linux 你这名字只能看出来是64位arm架构的linux,内核版本和cpu平台呢?每次系统异常重启都会保存系统日志,不如先查一下重启的原因?[/quote] 遇到几次了,系统日志也分析过,有SIGSEGV 指针越界的,有OOM内存耗尽的,最近这次是提示收到了了SIGPIPE,但最终定位发现是出现了除数为0的情况,现在问题是解决了,就像探究一下为啥就非得重启,x86到底高在哪儿了
NorZ 2020-11-13
  • 打赏
  • 举报
回复
引用 4 楼 flying_music 的回复:
[quote=引用 3 楼 NorZ 的回复:][quote=引用 2 楼 flying_music 的回复:][quote=引用 1 楼 NorZ 的回复:]...内存越界访问,你怎么会认为是系统的原因?不是代码的问题吗?
我知道内存越界不是系统原因,但指针越界系统就重启不很难受吗,指针越界不是一种常见的程序错误吗,程序崩溃就可以了,为啥整个操作系统都要重启呢,是不明白这个问题[/quote] 大概率是系统关键进程内发生了越界吧?嵌入式系统有很多,也不是所有的都会因为内存越界就重启,多数 linux 系统的,都是进程 crash,如果是服务进程就会重启进程。先说是什么系统吧。[/quote] 系统是aarch64-linux的。。估计您也没听说过吧,进程就是普通的用户进程,确实不是每次越界都会重启,但一旦重启就很难定位,没啥错误打印,直接就进入重启流程了,总之对开发很不友好,所以就很好奇x86是通过什么机制保障崩溃不重启的[/quote] aarch64-linux 你这名字只能看出来是64位arm架构的linux,内核版本和cpu平台呢?每次系统异常重启都会保存系统日志,不如先查一下重启的原因?
flying_music 2020-11-13
  • 打赏
  • 举报
回复
引用 3 楼 NorZ 的回复:
[quote=引用 2 楼 flying_music 的回复:][quote=引用 1 楼 NorZ 的回复:]...内存越界访问,你怎么会认为是系统的原因?不是代码的问题吗?
我知道内存越界不是系统原因,但指针越界系统就重启不很难受吗,指针越界不是一种常见的程序错误吗,程序崩溃就可以了,为啥整个操作系统都要重启呢,是不明白这个问题[/quote] 大概率是系统关键进程内发生了越界吧?嵌入式系统有很多,也不是所有的都会因为内存越界就重启,多数 linux 系统的,都是进程 crash,如果是服务进程就会重启进程。先说是什么系统吧。[/quote] 系统是aarch64-linux的。。估计您也没听说过吧,进程就是普通的用户进程,确实不是每次越界都会重启,但一旦重启就很难定位,没啥错误打印,直接就进入重启流程了,总之对开发很不友好,所以就很好奇x86是通过什么机制保障崩溃不重启的
NorZ 2020-11-13
  • 打赏
  • 举报
回复
引用 2 楼 flying_music 的回复:
[quote=引用 1 楼 NorZ 的回复:]...内存越界访问,你怎么会认为是系统的原因?不是代码的问题吗?
我知道内存越界不是系统原因,但指针越界系统就重启不很难受吗,指针越界不是一种常见的程序错误吗,程序崩溃就可以了,为啥整个操作系统都要重启呢,是不明白这个问题[/quote] 大概率是系统关键进程内发生了越界吧?嵌入式系统有很多,也不是所有的都会因为内存越界就重启,多数 linux 系统的,都是进程 crash,如果是服务进程就会重启进程。先说是什么系统吧。
flying_music 2020-11-13
  • 打赏
  • 举报
回复
引用 1 楼 NorZ 的回复:
...内存越界访问,你怎么会认为是系统的原因?不是代码的问题吗?
我知道内存越界不是系统原因,但指针越界系统就重启不很难受吗,指针越界不是一种常见的程序错误吗,程序崩溃就可以了,为啥整个操作系统都要重启呢,是不明白这个问题
NorZ 2020-11-13
  • 打赏
  • 举报
回复
...内存越界访问,你怎么会认为是系统的原因?不是代码的问题吗?

3,882

社区成员

发帖
与我相关
我的任务
社区描述
C/C++ 其它技术问题
社区管理员
  • 其它技术问题社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧