chen 发表于 2022-12-6 11:24:47

STC32g仿真关于局部变量的问题

仿真的时候不能查看局部变量的值,是我设置的问题还是bug呢

zhp 发表于 2022-12-6 13:17:41

你这里定义的局部变量会被编译器优化掉,不分配地址
顶多只是用一个寄存器临时缓存一下
当寄存器的值发生变化是,watch窗口也就随着变了

chen 发表于 2022-12-6 14:47:52

zhp 发表于 2022-12-6 13:17
你这里定义的局部变量会被编译器优化掉,不分配地址
顶多只是用一个寄存器临时缓存一下
当寄存器的值发生变 ...

优化等级设置的0不优化,像其他单片机的仿真都是可以正常查看局部变量的值的啊。如果说不可以查看的话应该在手册上面说明:不可查看局部变量,如果需要查看用static修饰或者设置为全局变量

神农鼎 发表于 2022-12-6 15:49:14

你这里定义的局部变量会被编译器优化掉,不分配地址===如编译器还是勤劳的任劳任怨的帮你优化掉了,你就看不到

chen 发表于 2022-12-6 15:57:15

神农鼎 发表于 2022-12-6 15:49
你这里定义的局部变量会被编译器优化掉,不分配地址===如编译器还是勤劳的任劳任怨的帮你优化掉了,你就看 ...

在手册或者说明书上面说明一下咯

okxjq 发表于 2022-12-14 09:39:57

我也遇到了 还没有解决

okxjq 发表于 2022-12-14 10:10:36

zhp 发表于 2022-12-6 13:17
你这里定义的局部变量会被编译器优化掉,不分配地址
顶多只是用一个寄存器临时缓存一下
当寄存器的值发生变 ...

局部变量看不了 只能全局变量

a4283 发表于 2022-12-30 22:54:30

遇到同样的问题..不处理好调试很不方便.希望STC能重视.

zhp 发表于 2022-12-31 12:42:59

本帖最后由 zhp 于 2023-1-3 12:07 编辑

a4283 发表于 2022-12-30 22:54
遇到同样的问题..不处理好调试很不方便.希望STC能重视.
这是Keil软件的问题,即使我们有心也没有能力去修改到这部分

他山之石 发表于 2023-1-4 10:46:17

刚刚也发现了这个问题
优化等级设为0
单步运行时 局部变量没变化

页: [1] 2
查看完整版本: STC32g仿真关于局部变量的问题