解决CubeIDE调试时函数找不到源

本文讲述了在使用STM32F103C8T6单片机开发中遇到的MQTT库函数调试问题,通过添加库文件并配置工程,解决了函数找不到源的问题,关键步骤包括添加MQTT库和正确包含文件。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

解决CubeIDE调试时函数找不到源

背景:STM32F103C8T6单片机使用esp8266模块连接阿里云,需要先在工程中移植MQTT后才能使用esp8266连接阿里云,程序中用到MQTT库中的很多接口,调试到这些接口的时候发现无法进入这些函数并提示”找不到源“。

调试到MQTTPacket_read()函数时,想要进入此函数

在这里插入图片描述

发现无法进入此函数,显示”找不到此函数的源“

在这里插入图片描述

可以看到此函数的定义是在”MQTTPacket.c“文件中,也就是MQTT的库中

在这里插入图片描述

猜测是因为没有将MQTT的库包含到工程里,所以找不到这条函数的源,因此尝试将MQTT库添加进工程:

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

选择移植的MQTT文件

在这里插入图片描述

然后一路点击确定,再次编译调试,此时就可以进入MQTTPacket_read()函数了

在这里插入图片描述

### STM32CubeIDE调试教程 #### 打开并配置调试会话 为了启动调试,在STM32CubeIDE中需先创建或加载一个项目。通过点击菜单栏中的“Run”选项,选择“Debug Configurations...”,可以进入调试设置界面[^1]。 #### 启动调试模式 在弹出窗口内可以选择不同的调试器类型,通常情况下选用ST-Link Debugger即可满足大多数需求。选好之后点击“Apply and Close”。回到主界面后,再次访问“Run”菜单下的“Debug”子项来开启一次新的调试过程。 #### 设置断点 利用左侧文件编辑区旁边的空白处单击鼠标左键可快速设定行级断点;对于函数入口,则可以直接右键目标函数名并选取相应的操作完成断点布置工作。当程序执行到这些位置将会暂停等待进一步指示。 #### 查看变量与表达式 一旦处于暂停状态,顶部工具条会出现一系列用于控制流程的新按钮,比如继续运行(F8)、逐语句前进而不深入调用细节(F6)以及步入当前指令内部(F7)。与此同,“Variables”视图允许实监控局部及全局范围内各个量的变化情况。“Expressions”面板支持自定义关注特定计算式的即结果更新显示。 #### 利用终端辅助调试 除了上述方法外,还可以借助集成于IDE内的Command Shell Console来进行更灵活多样的交互测试。这不仅限于发送简单的AT命令序列至MCU端口监听响应消息,也适用于其他任何基于UART通信协议的应用场景下的人机对话模拟练习。 ```python print("This is an example of Python code that could be used to demonstrate interaction with the serial port.") ```
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

studyingdda

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值