Microchip
直播中

史娟

7年用户 144经验值
私信 关注
[问答]

MPLABX在调试断点如何解决

大家好。我在一个带有PIC18F2620的简单项目中使用了MPLAPX(Ver 3.45)、XC8 Ver 1.38和PICKIT 3。当我尝试调试时,我尝试使用的每个断点,只要单击该行,就会中断。问题是,如果我在其他计算机(具有完全相同的SW版本)中对完全相同的项目(通过Dropbox进行同步)尝试进行相同的操作,那么它工作得很好。您有什么建议来修复这个问题上失败的计算机吗?感谢洛特冈萨罗

回帖(11)

李铭鑫

2020-4-23 10:45:24
嗨,断点意味着调试器不理解源代码和可执行指令地址之间的对应关系。这经常发生在优化代码中。您确定在比较时使用相同的优化设置和许可证吗?通常建议在编译用于调试的程序时关闭优化。获得修复的一个方法是,在您知道要停止的点插入nop指令:NOP();它通常不会被优化掉。另一个方法是打开执行内存的内存视图并设置在实际指令中的断点。您必须显示实际的代码,以获得更具体的提示,并且必须告诉您正在使用什么优化设置。
举报

周娟

2020-4-23 11:02:05
您尝试删除高速缓存,可能是用户、目录吗?它们的位置可以在MPLAX帮助-GT屏幕上找到。这是MPLAB X的捕获所有问题求解器(类似于Windows的重新启动)。
举报

王璨

2020-4-23 11:24:22
HYMPAB X V3.65和XC8 1.42免费版本。使用PIC1686.除子程序外,断点工作良好。我通过了大量的文件来找到为什么没有成功的原因。我使用了NOP(),并确保我也使用了一个程序语句。断点在项目文件上工作。我定义了原型:无符号短2BCD3(无符号短inValue);Main中的调用子例程;无符号短2BCD3(无符号短inValue);以及子例程:无符号短2BCD3(无符号短inValue){}也许子例程不是G叫什么?我使用了上面讨论的很多建议,但是有些东西我不明白。如果我把整个子例程移到没有调用函数的主程序中,程序执行正常,断点工作。
举报

黄勇

2020-4-23 11:56:10
既然这里有一个断点讨论,我也在挣扎。MPLABX 4.05拾取3。在进入调试会话后,我运行到断点。PC似乎停止(继续按钮返回绿色)。断点不绿色,变量不显示。有什么想法吗?谢谢
举报

更多回帖

发帖
×
20
完善资料,
赚取积分