硬汉嵌入式论坛

 找回密码
 立即注册
查看: 650|回复: 6
收起左侧

[ThreadX全家桶] ThreadX最大任务栈检测问题

[复制链接]

2

主题

3

回帖

9

积分

新手上路

积分
9
发表于 2026-2-24 17:31:55 | 显示全部楼层 |阅读模式
在项目开发中,使用硬汉哥教程中的方法打印线程栈的使用情况:
[C] 纯文本查看 复制代码
App_Printf(" %2d %5d %5d %5d %s\r\n",
p_tcb->tx_thread_priority,
p_tcb->tx_thread_stack_size,
(int)p_tcb->tx_thread_stack_end - (int)p_tcb->tx_thread_stack_ptr,
(int)p_tcb->tx_thread_stack_end - (int)p_tcb->tx_thread_stack_highest_ptr,
p_tcb->tx_thread_name);

在输出的打印结果中会出现 MaxStack < CurStack的情况,如下图,这是怎么回事?

123.png



回复

使用道具 举报

1万

主题

7万

回帖

12万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
122752
QQ
发表于 2026-2-25 00:39:10 | 显示全部楼层
有这个问题,ThreadX内核的栈最大值变量应该是没有及时更新。
回复

使用道具 举报

3

主题

98

回帖

107

积分

初级会员

积分
107
发表于 2026-2-25 13:29:28 来自手机 | 显示全部楼层
这个好像一直都有这个问题
回复

使用道具 举报

2

主题

3

回帖

9

积分

新手上路

积分
9
 楼主| 发表于 2026-2-27 16:38:20 | 显示全部楼层
eric2013 发表于 2026-2-25 00:39
有这个问题,ThreadX内核的栈最大值变量应该是没有及时更新。

硬汉哥,这个问题不会影响内核调度,不会触发致命bug吧?
回复

使用道具 举报

1万

主题

7万

回帖

12万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
122752
QQ
发表于 2026-2-28 15:35:30 | 显示全部楼层
BenTech 发表于 2026-2-27 16:38
硬汉哥,这个问题不会影响内核调度,不会触发致命bug吧?

不影响,这个仅仅是最大值展示
回复

使用道具 举报

2

主题

3

回帖

9

积分

新手上路

积分
9
 楼主| 发表于 2026-5-6 16:47:56 | 显示全部楼层
eric2013 发表于 2026-2-25 00:39
有这个问题,ThreadX内核的栈最大值变量应该是没有及时更新。

硬汉,我发现了,各线程的栈使用情况应该在各自自己线程中调用打印,不跨线程打印,这样就不会出现MaxStack<CurStack的情况。
回复

使用道具 举报

1万

主题

7万

回帖

12万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
122752
QQ
发表于 2026-5-7 09:09:47 | 显示全部楼层
BenTech 发表于 2026-5-6 16:47
硬汉,我发现了,各线程的栈使用情况应该在各自自己线程中调用打印,不跨线程打印,这样就不会出现MaxSta ...

谢谢分享。

这样的话,就非常不利于统计了。
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|小黑屋|Archiver|手机版|硬汉嵌入式论坛

GMT+8, 2026-5-26 09:41 , Processed in 1.502633 second(s), 28 queries .

Powered by Discuz! X3.4 Licensed

Copyright © 2001-2023, Tencent Cloud.

快速回复 返回顶部 返回列表