发 帖  
原厂入驻New
申请华秋企业认证 多层板首单免费打样!
30s提交资料,10分钟通过审核(免费赔付+顺丰包邮)>>立即报名
[问答] 无法在调试中的正确语句处停止该怎么办?
142 编译器 ISR 代码
分享
我在这方面看到了很多帖子,但似乎没有什么能解决它。这个问题很简单,已经持续了很长时间,但我想解决它。我正在尝试使用PICtiT3在各种PIC24s上调试。在IDE中,我选择: run:set project.:customize xc16-gcc:optimzations 0I在代码中“non branc.”语句上放置一个断点,例如设置变量。这里是随机的。对于一些例子,它停在那里,其他人则不这样做,即使是相当简单的程序。我已经使用MCC来生成几个程序,所以我假设代码在Mspice标准内被合理地铸造。同样,当我通过调试器时,即使我使用跳过模式,似乎也总是希望分支到子程序中。分支命令并不总是有效的。大多数程序都激活了一些中断服务,但我正在main.c模块中调试,并没有试图在ISR例程中设置陷阱。我试过使用“clean and build for debugging”选项,但是似乎什么也解决不了。我将IDE和XCX16编译器升级到最新版本,但这无济于事。我的程序有什么问题吗?谢弗里茨
0
2019-11-1 06:08:28   评论 分享淘帖 邀请回答
6个回答
例如?但是没有示例。如果您读了会发现您不能在每行上都设置断点。这就是编译器和调试器的工作方式,它们都是这样。您是否尝试向不能设置a breakpoint的地方添加Nop()呢?如果发现断点被命中,但调试器停止一行或两行,则是断点打滑。这是一个PIC24问题。使用2个NOPS.MPABX和编译器是软件,软件有漏洞,bug随着时间的推移而固定。你使用的是什么版本?
2019-11-1 06:14:49 评论

举报

谢谢尼尔。我把一个例子的ZIP文件附加到原来的帖子。我阅读了能够找到的内容,并且多年来我对调试器包括mchip非常熟悉,因此我认为我按照指定的方式使用这个命令:我只有一个断点,并且我在几个不同的地方尝试过。如果你看zip,我添加了NOP()的,正如你提到的。我还把它们加倍了。正如我提到的,我正在使用最新版本:编译器是XC161.30产品版本:MPLAB X IDE V3.51 Java:1.8 0E91;Java热点(TM)64位服务器VM 25.91-B14RunTime:Java(TM)SE运行时环境1.80Y91-B14Stase:Windows 7版本6.1在AMD64上运行;CP1252;EN(MPLAB),在这种情况下,我是我们。一个PIC24FJ128GA010。在我寄给你的情况下,这不是一个“撬”(对我来说是新词!)虽然我也经历过这种情况,但它是逐步通过每个子例程,虽然我使用了“步骤”按钮。我曾经尝试过“run to cursor”选项,就像以前一样,但是现在在跳过几次之后,我得到了“Runtocursor”选项。
2019-11-1 06:20:56 评论

举报

如果你得到错误,那就是在微芯片上。IDE中有一个用于调试器限制的链接。对于PIC24,它将列出断点。打滑。这可能导致断点在断点之后发生一个或两个指令。它与架构和指令混合有关。那里没有固定。BOP只是一项工作。你的照片只有1个突破点。这使生活变得艰难。调试器使用一个到一个步骤。这限制了你很多。
2019-11-1 06:27:16 评论

举报

我在大量的文件中环顾四周,但没有看到与“调试器的限制”有关的东西。无论如何,目前的问题并不是“跳跃”,而是跳过前方。这是因为IDE完全不会单步——它立即分支到第一个子例程,并且不会在断点附近停止。同样的事情用Nops-()添加。关于“你的PIC只有1个断点”。你是指PIC24FJ128GA010还是PICS?我可以试试另一个部分,你认为这是可以用ICD3解决的吗?我不喜欢我的,因为它有一个愚蠢的连接器,但是我可以把一个放在我制作的插件板上。
2019-11-1 06:34:37 评论

举报

我不清楚你的问题。你是说它停了,但在错误的地方?ICD3将更快,但不应该以不同的方式工作。Microchip(和其他公司)将ICD3卖给PICTIT3适配器。
2019-11-1 06:45:35 评论

举报

当我看到这个时,我发现了各种各样的“怪癖”。可能是打滑把问题弄得一团糟,但更持久的一点是无法“跨过”。例如,如果将单个断点放在语句“idx=0”中,则调试器跳到“showmenu”的第一行,这可能是您提到的打滑的表现。足够公平-但是现在如果我按“退出”按钮,我得到一个分支到UARTAR2RealFuffelSISH空例程。好,但是我想应该转到:(idx.=0;idx.<1000000;idx.++){}”,这是主例程的下一步。如果我在下一步是一个用户子程序调用,它总是分支,即使我使用“跨过”按钮。
2019-11-1 06:51:37 评论

举报

只有小组成员才能发言,加入小组>>

75个成员聚集在这个小组

加入小组

创建小组步骤

关闭

站长推荐 上一条 /5 下一条

快速回复 返回顶部 返回列表