IT博客汇
  • 首页
  • 精华
  • 技术
  • 设计
  • 资讯
  • 扯淡
  • 权利声明
  • 登录 注册

    TRACE32 中通过任务栈中保存的数据恢复 freertos 某个任务调用栈的方法

    Hacper\'s Blog发表于 2024-07-31 02:00:18
    love 0

    T32 加载 dump 之后看不到任务调用栈,是因为寄存器的值异常,导致任务调用栈没解析出来。

    可以通过 tcb 中栈数据恢复寄存器的值:

    打开对应的 task struct,dump pxTopOfStack(0x411420) 指向的内存数据

    在pxTopOfStack(0x411420)的第8字节开始,对应寄存器 r1 ~ r15(pc)的值,分别将这些值设置到寄存器。

    这样任务调用栈便恢复了,可以继续进行下一步的分析。



沪ICP备19023445号-2号
友情链接