导航

    全志在线开发者论坛

    • 注册
    • 登录
    • 搜索
    • 版块
    • 话题
    • 在线文档
    • 社区主页

    【FAQ】全志R329如何进行coredump的配置与调试?

    其它全志芯片讨论区
    r329 r328 faq 技术支持
    1
    1
    1386
    正在加载更多帖子
    • 从旧到新
    • 从新到旧
    • 最多赞同
    回复
    • 在新帖中回复
    登录后回复
    此主题已被删除。只有拥有主题管理权限的用户可以查看。
    • q1215200171
      budbool LV 9 最后由 编辑

      问题背景

      应用调试时出现段错误的情况。

      程序运行过程中异常终止或崩溃,操作系统会将程序当时的内存状态记录下来,保存在一个文件中,这种行为就叫做CoreDump。

      可以认为CoreDump是内存快照,但实际上,除了内存信息之外,还有些关键的程序运行状态也会同时记录下来,例如寄存器信息(包括程序指针、栈指针等)、内存管理信息、其他处理器和操作系统状态和信息。CoreDump对于调试程序是非常有帮助的,因为对于有些程序错误是很难重现的,例如指针异常,而CoreDump文件可以再现程序出错时的情景。

      问题描述

      客户基于btmanager开发蓝牙应用或者调试其他应用时,有时候会遇到崩溃的问题。
      只看到应用退出了,然后留下一行Segmentation fault的错误,却没有其他更多的信息。
      比如:

      fd1a354c2b5c4095b5d662d39ecf918e.jfif

      问题分析

      报错只有 Segmentation fault,而不是Segmentation fault (core dumped),说明没有使用CoreDump。

      解决办法

      SDK配置coredump和gdb
      m menuconfig进入配置菜单

      (1)Global build settings —>

      [*] Enable process core dump support
      fcd55fe527444dc29338b18b1710d5fe.jpg

      (2)Global build settings —>

      Binary stripping method (none) —>
      9eb58a3ef8514f988b3f27a59d14d7e6.jpg

      (3)Development —>

      <*> gdb… GNU Debugger
      43cbfb70c80042fdb9fe2847b34c9343.jpg

      小机端配置
      (1)ulimit -c unlimited
      表示在异常时产生core dump文件,不对core dump文件的大小进行限制。
      (2)echo /tmp/coredump > /proc/sys/kernel/core_pattern
      设置产生的core文件的文件名以及路径。

      例如:
      5c9161e95dc543cc85b6e9a36ab5eaf6.jpg

      出现Segmentation fault 之后,会有(core dumped)的字样。

      对coredump的简单debug

      (1)使用gdb调试coredump文件。
      gdb xxxx /tmp/coredump
      xxxx是具体的应用程序,比如/usr/bin/bt_test

      (2)在gdb 终端中输入bt
      输入bt之后,可以查看堆栈的信息。注意:这里的bt不是蓝牙的意思。

      如下图所示:
      86b96dd7b66d4ddbba07077982c8f270.jpg
      这样就可以大致查看出错的点,方便分析调试。

      1 条回复 最后回复 回复 引用 分享 0
      • Referenced by  q1215200171 q1215200171 
      • Referenced by  q1215200171 q1215200171 
      • Referenced by  q1215200171 q1215200171 
      • Referenced by  q1215200171 q1215200171 
      • Referenced by  q1215200171 q1215200171 
      • 1 / 1
      • First post
        Last post

      Copyright © 2024 深圳全志在线有限公司 粤ICP备2021084185号 粤公网安备44030502007680号

      行为准则 | 用户协议 | 隐私权政策