zoukankan      html  css  js  c++  java
  • 神奇的调试值“DEADBEEF”

    通常用于指示嵌入式系统中的软件崩溃或死锁。DEADBEEF最初用于标记尚未初始化的新分配内存区域——当扫描内存转储时,很容易看到DEADBEEF。它被ibmrs/6000系统、32位PowerPC处理器上的macos和commodoreamiga用作一个神奇的调试值。在sunmicrosystems的Solaris上,它标记释放的内核内存。在运行在Alpha处理器上的OpenVMS上,按CTRL-T可以看到DEC-Alpha SRM控制台有一个后台进程,该进程捕获内存错误,由PS标识为“BeefEater waiting On 0xdeadbeefee”。

    例子:

    2020-12-11 17:39:15.668 R]thread   pri  status      sp     stack size max used left tick  error
    -------- ---  ------- ---------- ----------  ------  ---------- ---
    mbtcp_te  12  suspend 0x000002c8 0x00000800    73%   0x00000001 000
    Mb_RTUM_   9  suspend 0x000000dc 0x00000800    44%   0x00000006 000
    Mb_RTUM_   8  suspend 0x0000017c 0x00000800    49%   0x00000001 000
    Mb_RTUS_   7  suspend 0x000001f4 0x00000800    30%   0x0000000a 000
    tshell    20  suspend 0x00000184 0x00001000    09%   0x00000009 000
    HC148_EX   6  ready   0x000000a0 0x00000200    41%   0x00000030 -02
    wiz_stat  28  suspend 0x000000b8 0x00000800    16%   0x00000013 000
    wiz        5  suspend 0x000000b0 0x00000200    72%   0x00000008 000
    sample_L  14  ready   0x000001dc 0x00000800    43%   0x0000002e 000
    sys_work  23  suspend 0x00000084 0x00000800    63%   0x00000001 000
    tidle0    31  ready   0x00000060 0x00000100    53%   0x0000001f 000
    timer      4  suspend 0x000000b0 0x00000200    88%   0x00000009 000
    main      10  suspend 0x00000148 0x00000800    60%   0x0000000c 000
    
    
    Firmware name: rtthread, hardware version: 1.0, software version: 1.0
    
    Fault on interrupt or bare metal(no OS) environment
    
    ===== Thread stack information =====
    
      addr: 20000bb8    data: deadbeef
    
      addr: 20000bbc    data: deadbeef
    
      addr: 20000bc0    data: 20002510
    
      addr: 20000bc4    data: 20003b38
    。。。
      addr: 20000c90    data: 080235db
    
    ====================================
    
    =================== Registers information ====================
    
      R0 : fffffff1  R1 : fffffff1  R2 : 00000001  R3 : deadbeef
    
      R12: deadbeef  LR : 20000be0  PC : deadbeef  PSR: deadbeef
    
    ==============================================================
    
    Bus fault is caused by imprecise data access violation
    
    Show more call stack info by run: addr2line -e rtthread.elf -a -f deadbeef 0800701c 08006eee 080078d4 08007fac 0800383a 08023960 08006e0a 080235da 
     
  • 相关阅读:
    string
    auto和decltype
    const限定符
    &(引用) 和 *(指针)
    extern关键字
    关于将函数写入头文件问题(分离式编译)
    poj2154(polya定理+欧拉函数)
    bzoj2115(线性基)
    51nod1832(二叉树/高精度模板+dfs)
    51nod1464(trie + dfs)
  • 原文地址:https://www.cnblogs.com/jieruishu/p/14131058.html
Copyright © 2011-2022 走看看