[开发工具] MPLABX怎么调试的时候看不了变量了

[复制链接]
2743|21
 楼主| wooda 发表于 2019-4-29 11:16 | 显示全部楼层 |阅读模式
本帖最后由 小卡 于 2019-5-22 13:52 编辑

如图,本来单步或者暂停时候下面红框里面是有显示当前局部变量以及人工添加的wathc值的,现在怎么没有了?然后同一个工程的同一个c的另外一个函数,就能有,如下图:

有谁知道是什么原因么?
谢谢。

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?注册

×
CoolSilicon 发表于 2019-4-29 11:23 | 显示全部楼层
看样子, 你是在调软件逻辑, 或者运算相关的代码,
其实你可以在project属性里面选Simulator, 用软件仿真的模式, 断点可以设置非常多, 出来的效果跟芯片硬件直接仿真是一样的.
另外, 你软件优化级别也别开太高, 有些你可能需要看的变量, 在高优化下,会看不到...

实在不行, 重启试试?
 楼主| wooda 发表于 2019-4-29 11:26 | 显示全部楼层
CoolSilicon 发表于 2019-4-29 11:23
看样子, 你是在调软件逻辑, 或者运算相关的代码,
其实你可以在project属性里面选Simulator, 用软件仿真的模 ...

和硬件相关的还是要在硬件上调,上一个截图里面是读外部eep的,没办法模拟
软件优化的话,难道同一个c里面不同的函数待遇就不一样?有可能吧,我去看看优化级别。
重启过了,这个问题昨天就发现了,还特意下班完全关闭操作系统,。。。今天还是一样
 楼主| wooda 发表于 2019-4-29 11:31 | 显示全部楼层
优化貌似没有很详细的调节方法。。。
 楼主| wooda 发表于 2019-4-29 12:41 | 显示全部楼层
CoolSilicon 发表于 2019-4-29 11:23
看样子, 你是在调软件逻辑, 或者运算相关的代码,
其实你可以在project属性里面选Simulator, 用软件仿真的模 ...

调到standard模式下,还是没有,这下不知道怎么办了
 楼主| wooda 发表于 2019-4-29 14:03 | 显示全部楼层
临时解决方法:将要看的变量提出来做全局变量,就能看了。。。
不知道调试完毕恢复成局部变量时候会不会有问题。
到时候再说吧
CoolSilicon 发表于 2019-4-29 15:30 | 显示全部楼层
wooda 发表于 2019-4-29 14:03
临时解决方法:将要看的变量提出来做全局变量,就能看了。。。
不知道调试完毕恢复成局部变量时候会不会有 ...

你要看局部变量的话, 断点需要打在那个局部变量所在的函数里, 并且要运行到那里才能看到的...
CoolSilicon 发表于 2019-4-29 15:31 | 显示全部楼层
wooda 发表于 2019-4-29 14:03
临时解决方法:将要看的变量提出来做全局变量,就能看了。。。
不知道调试完毕恢复成局部变量时候会不会有 ...

你要看局部变量的话, 断点需要打在那个局部变量所在的函数里, 并且要运行到那里才能看到的...
 楼主| wooda 发表于 2019-5-1 13:11 | 显示全部楼层
CoolSilicon 发表于 2019-4-29 15:31
你要看局部变量的话, 断点需要打在那个局部变量所在的函数里, 并且要运行到那里才能看到的... ...

当然咯,图上也是绿色的当前行是在函数里
淘猫汤姆 发表于 2019-5-5 18:29 来自手机 | 显示全部楼层
报告一下ide和编译器版本? variable里面似乎是根据scope来过滤显示的
 楼主| wooda 发表于 2019-5-6 15:22 | 显示全部楼层
淘猫汤姆 发表于 2019-5-5 18:29
报告一下ide和编译器版本? variable里面似乎是根据scope来过滤显示的

报告:ide是MPLABX 4.20,编译器XC8 1.41
 楼主| wooda 发表于 2019-5-8 22:57 | 显示全部楼层
bellstudio 发表于 2019-5-8 17:41
看看你编译器选项里有一个debug有没有打开,IDE需要符号信息来解析

问题是吧局部变量放到全局就行了。
已经尝试过重新全部编译也不行。想不通。
小卡 发表于 2019-5-22 13:53 | 显示全部楼层
升级就好了吗~~
externally 发表于 2019-5-23 15:12 | 显示全部楼层
楼主解决了没有?只能变成全局变量么?
 楼主| wooda 发表于 2019-5-25 13:37 | 显示全部楼层

升级也不行,特地找了个干净的环境试过了
 楼主| wooda 发表于 2019-5-25 13:39 | 显示全部楼层
externally 发表于 2019-5-23 15:12
楼主解决了没有?只能变成全局变量么?

对,设定成全局变量调试,然后逻辑正确后放回局部变量,然后设几个flag类型的全局变量,,在关键步骤地方对局部变量进行验算并反馈到flag上,调试无误后flag变量去掉,验算逻辑去掉,
嗯,就是这样
externally 发表于 2019-5-29 20:23 | 显示全部楼层
wooda 发表于 2019-5-25 13:39
对,设定成全局变量调试,然后逻辑正确后放回局部变量,然后设几个flag类型的全局变量,,在关键步骤地方 ...

正常不应该这样的,局部变量应该也可以调试的,毕竟全局变量和局部变量用起来还是不一样的,这样的话很容易忽略一些问题。
characteristic 发表于 2019-5-29 20:54 | 显示全部楼层
还有这种情况?没遇到过。。。
 楼主| wooda 发表于 2019-6-1 17:05 | 显示全部楼层
characteristic 发表于 2019-5-29 20:54
还有这种情况?没遇到过。。。

夜路走多了就会遇见gui
项目写多了就会遇见gui 级bug
很正常
characteristic 发表于 2019-6-17 14:20 | 显示全部楼层
wooda 发表于 2019-6-1 17:05
夜路走多了就会遇见gui
项目写多了就会遇见gui 级bug
很正常

楼主问题解决了没有?
您需要登录后才可以回帖 登录 | 注册

本版积分规则

45

主题

470

帖子

1

粉丝
快速回复 在线客服 返回列表 返回顶部