更新时间: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,则说明该任务踩内存。
父主题:调试案例

