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");
}
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);
}
#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);
}