我最近在Arduino Uno板上工作,我无法使用ArduinoIde.So中的print()进行调试,我下载了AtmelStudio 6.2用于调试。当我设置断点并尝试构建.Im,得到警告时,断点目前不会被击中。无法在target.The上设置请求的断点,当前选定的设备无法在运行时期间设置断点
请帮我整理一下这个问题
发布于 2016-01-09 19:38:22
遵循的解决方案,在Atmel Studio 7和Atmel-ICE上使用ATMega 168 p解决了同样的问题。
1.汇编程序
在想要断点的地方插入以下汇编程序代码:
asm("break");请注意,这是一个非常丑陋的解决方案,并不适用于所有情况。它只适用于DEBUGwire,并使您的程序停止在任何情况下,即使没有程序员附加。
2.创建新项目
在不同的地点创建一个新项目也很有帮助。我将所有需要的文件复制到新文件夹中。新位置的路径很短(C:\atmel\project.)并且没有空格,没有空位等。
发布于 2016-06-04 01:18:43
我有一个类似的问题,区别是我只能点击我项目的原始模块中的断点(即当我创建.cproj时已经存在的那些模块),我后来添加的任何模块都不会在放在它们上的断点中停止程序。
@pafodie提到的解决方案(2)解决了这个问题,但在这个过程中,我找到了一种更简单的方法:只需删除.atsuo文件即可。它稍后将被自动重新创建,问题就消失了(至少在您添加更多模块之前)。AS6似乎在那里缓存了一些在添加新文件时没有更新的东西,或者不正确地进行缓存。
发布于 2019-06-05 21:02:44
至少对我来说,我可能已经找到了一个可行的解决方案!您需要禁用编译器优化。在Atmel Studio中,
点击Alt+F7 > ToolChain >优化{有两个优化窗口,但只有一个适合鞋}>优化级别>无
我在这里找到了它,比我解释得更好:https://www.microchip.com/webdoc/GUID-ECD8A826-B1DA-44FC-BE0B-5A53418A47BD/index.html?GUID-8FF26BD2-DBFF-48DD-91FB-8585D91A938D图5
https://stackoverflow.com/questions/30479540
复制相似问题