VScode 在单片机调试时进入elf汇编页面无法关联源码问题

VScode 在单片机调试时进入elf汇编页面无法关联源码问题

经过半天啥折腾,原来是文件路径含有中文,进入调试就默认在反汇编(.elf)文件上调试,还不能在源码上断点(断点会是空心)。

环境

VScode
插件
在这里插入图片描述+openocd调试工具进行雅特力单片机开发
详情配置可参考
链接: 文档下载

1.路径含有中文时

main.c文件中的断点无效
main.c文件中的断点无效
只能在反汇编调试
只能在反汇编调试

2.修改为英文路径后(开始愉快调试了)

在这里插入图片描述
原因分析,路径含有中文导致调试器无法识别,找不到正确的文件

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
如果您使用 VS Code 调试单片机程序,可以通过 VS Code 的 Debug 模式来实现添加变量监视。具体步骤如下: 1. 首先,需要在 VS Code 中添加一个调试配置。在 VS Code 的左侧菜单栏中点击 Debug 图标,然后点击“create a launch.json file”按钮,选择您使用的编译器和单片机类型,并按照提示进行配置。 2. 然后,需要在 .vscode/launch.json 文件中添加变量监视。在“configurations”数组中找到您的调试配置,然后添加一个“watch”属性。例如: ``` "configurations": [ { "name": "Debug STM32", "type": "cortex-debug", "request": "launch", "cwd": "${workspaceFolder}", "executable": "./build/stm32.elf", "servertype": "openocd", "configFiles": [ "interface/stlink.cfg", "target/stm32.cfg" ], "watch": [ { "expression": "&(TIM2->CNT)", "type": "uint32_t", "format": "hex" } ] } ] ``` 在上面的例子中,我们添加了一个名为“TIM2->CNT”的变量监视,它的地址是“&(TIM2->CNT)”(即 TIM2 计数器的地址),它的数据类型是“uint32_t”,显示格式是“hex”。 3. 最后,启动调试器,并在调试器的界面中打开变量监视窗口。在 VS Code 中按下 F5 启动调试器,然后在调试器的界面中找到“Watch”或“Variables”窗口,可以看到我们添加的变量监视。 需要注意的是,添加变量监视需要您对单片机的程序有一定的了解和理解,需要知道程序中哪些变量是需要监视的,以及它们的地址和数据类型。另外,不同的编译器和单片机类型可能会有不同的调试配置和变量监视方式,具体要根据您使用的工具进行调整。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值