文档首页/ LiteOS/ 维测指南/ 调试案例/ task状态判断是否踩内存
更新时间:2021-07-08 GMT+08:00
分享

task状态判断是否踩内存

Shell命令task,可以查看当前系统所有任务的状态。命令输出的stackSize、WaterLine、StackPoint、Top0fStack信息,可以作为判断任务栈是否踩内存的指标。

这里举例说明如何通过task命令判断是否踩内存,如下图所示,有一任务名为shellTask。

StackSize = 0x3000(创建该任务时分配的栈大小)

WaterLine = 0x2810(水线,目前为止该任务栈已经被使用的内存大小)

StackPoint = 0x80d10084 (任务栈指针, 指向该任务当前的地址)

Top0fStack = 0x80d0d768(栈顶)

MaxStackPoint = Top0fStack + StackSize = 0x80d10768(得到该任务栈最大的可访问地址)

  • 若WaterLine > StackSize,则说明该任务踩内存。
  • 若StackPoint > MaxStackPoint 或 StackPoint < Top0fStack,则说明该任务踩内存。

相关文档