打印
[其他ST产品]

在 Stm32Cube IDE 中查看堆栈指针

[复制链接]
200|12
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
jerry尧|  楼主 | 2025-5-26 22:33 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
想了解堆栈指针和程序计数器内的参数。
请教如何在仿真模式下查看 CubeIDE 中的堆栈指针。
对了还有如何查看程序中所定义的某个变量的地址?

使用特权

评论回复
沙发
公羊子丹| | 2025-5-27 07:40 | 只看该作者
可以在调试时打开 Registers 窗口,里面就能看到 SP(堆栈指针)和 PC(程序计数器)的当前值。

使用特权

评论回复
板凳
周半梅| | 2025-5-27 07:41 | 只看该作者
看变量地址的话,调试时在 Expressions 里输入 &变量名 就能显示地址了。

使用特权

评论回复
地板
帛灿灿| | 2025-5-27 07:42 | 只看该作者
也可以在 Variables 窗口,右键变量名选择 “Show address”,就能看到变量地址了。

使用特权

评论回复
5
童雨竹| | 2025-5-27 07:42 | 只看该作者
SP 和 PC 在寄存器窗口显示是十六进制地址,可以双击复制下来分析用。

使用特权

评论回复
6
万图| | 2025-5-27 07:43 | 只看该作者
如果你用的是 FreeRTOS,每个线程都有自己的 SP,要注意切换 context 时的变化。

使用特权

评论回复
7
Wordsworth| | 2025-5-27 07:44 | 只看该作者
有时候还可以用 “Disassembly” 和 “Memory” 窗口配合来看 SP 指向的内容。

使用特权

评论回复
8
Bblythe| | 2025-5-27 07:45 | 只看该作者
推荐设置一个断点后暂停,再查看 SP,这样值是比较有意义的,不然运行中跳得太快看不清。

使用特权

评论回复
9
Pulitzer| | 2025-5-27 07:45 | 只看该作者
Debug Perspective 里也可以加 “Memory Browser”,直接输入 SP 的值看看堆栈内容。

使用特权

评论回复
10
Uriah| | 2025-5-27 07:46 | 只看该作者
如果你开启了硬件跟踪,比如 ITM,还能看到函数调用关系,PC 变化就一目了然了。

使用特权

评论回复
11
Clyde011| | 2025-5-27 07:47 | 只看该作者
可以在 main() 的断点处暂停,然后查看 SP 和 &变量 的位置来分析栈分布,挺直观的。

使用特权

评论回复
12
t60yz| | 2025-5-31 23:42 | 只看该作者
可以在Disassembly(反汇编窗口)中看到PC对应的代码行。

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

20

主题

43

帖子

0

粉丝