使用dap下载器 在vscode中debug stm32f407的程序中出现问题,不知道怎么解决求助各位大佬。
希望能够正常debug调试程序
vhazepointer
首先得把工程路径弄成全英文的,cortex-debug 不支持中文路径
图上显示程序没跑起来,死在了 main 之前,
只要调试没退出,应该可以直接点 暂停,看看死在哪里了
如果程序停在某地址,可在反汇编中寻找该地址,然后看看附近几行位于源程序哪里,即可定位问题源
如何打开反汇编:
初次使用,最好先搞个简单的点灯程序,跑起来,先排除环境问题
admin 非常感谢你回答我, 我现在又遇到一个新的问题
我把项目路径也改成全英文,然后我停止看断点的反汇编地址发现是没有跳进源程序里。 然后还报错显示无法索引到缓存目录
这是我的cortex_debug里面的设置,
这个是那个无法检索的地址在我电脑里的路径
我现在不太清楚接下来该怎么做,
程序已经停住了,去按照上面的步骤,反汇编,寻找 0x08000408 或 0x00000408,找到你程序停在何处,排查问题
你上面的截图多出出现 0xe000e000,这个地址很常见,多半是程序的问题,
admin 我这边最后发现是卡在这个延时函数里面程序在里面卡死了,单片机有两段程序,第一段是是底层程序,里面我发现有个不停循环点亮指示灯,这边好像卡在那出不去了。底层程序好像一般不改动 debug能不能直接从主程序开始,不从底层程序里开始进行,我平时在keil里面debug主程序是正常的。
admin 好的非常感谢,我解决了,板子里面有两段程序,如果不按运行键,就会一直卡在底层那个程序里面死循环里,按了运行就正常了。