TI-RTOS Sys-Bios操作系统:task栈溢出检测方法

1. 示例代码
Task_Stat statbuf; /* declare buffer */

Task_stat(Task_self(), &statbuf); /* call func to get status */

if (statbuf.used > (statbuf.stackSize * 9 / 10)) {
    System_printf("Over 90% of task's stack is in use.\n");
}
2. 改进代码
#define STACK_ALARM_USAGE  0.9

Task_Stat statbuf; /* declare buffer */

Task_stat(Task_self(), &statbuf); /* call func to get status */

if (statbuf.used > (statbuf.stackSize * STACK_ALARM_USAGE)) {
    System_printf("Over %d% of task's stack is in use.\n", STACK_ALARM_USAGE*100);
}




版权声明:本文为linpeng12358原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。