求教 MPLAB 只设置了一个断点却不能停
昨天好像断点能停,今天发现断点变成了,而且我只设置了一个断点,测试端口输出波形也是正常的。本帖最后由 liansh2002 于 2018-3-9 17:34 编辑
这种中间带裂缝的是无效断点。
原因可能与XC编译器的优化有关,最后生成的汇编与C语言并不是一一对应的(官方给的解释是效率高)。所以这一行C语言转换的汇编代码可能并不在这个位置,也可能与其它汇编合并后根本就没有
我的解决方法是把优化等级调到最低,同时Operation mode不要使用pro模式,用Free
补充一下,如果之前能断,很有可能是你在程序运行中设置了断点,PICkit3是不支持运行中设断点的,停掉以后重设一次试试 liansh2002 发表于 2018-3-9 17:31
这种中间带裂缝的是无效断点。
原因可能与XC编译器的优化有关,最后生成的汇编与C语言并不是一一对应的(官 ...
感谢,我现在就是再运行前加的断点,我用的是xc16编译器,选择优化级别是0:
看着MPLAB 这环境和编译器 , 然后想想atmel 和 即将可能被收购的 Mircosemi 就心痛. .... Microchip这货太懒了..... 先在窗口->调试->反汇编 里查看是否有对应的汇编
然后优化等级我是XC8,有一个关闭优化,XC16没有的话把最后那个模式改为Free
再不行试试在前后相邻的几行打断点
liansh2002 发表于 2018-3-9 17:54
先在窗口->调试->反汇编 里查看是否有对应的汇编
然后优化等级我是XC8,有一个关闭优化,XC16没有的话把最 ...
我的默认就是0 :就是不优化
页:
[1]