CLion 調試時 BreakPoint 不能触發的問題

本文详细介绍了如何解决在CLion2019中配合Mingw-w64进行Debug时,断点无法正常触发的问题。通过设置Buildtype为Debug并启用外部控制台,确保了断点的有效性和控制台输出的实时性。

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

之前在使用 CLion 2019 配合 Mingw-w64 時,遇到了 Debug 時程序不會在斷點處停下的問題(使用 Cygwin64 時則不會出現此狀況),一直都沒有解決,今天總算是解決了這個問題了,記錄一下。

 

步驟如下:Ctrl + Alt + S 進入 Settings -> 打開 Build, Execution, Deployment 中的 CMake -> 在 Build type: 那选择 "Debug":

做完這一步以後 Debug 時就已經可以正常觸發 breakpoint 了。但默認是在控制台顯示信息,這本身並沒有什麼不好,但在 Debug 模式下 CLion 的 console 會存在緩衝區刷新不及時的問題,也就是明明執行了 printf() 語句,但就是沒有在 console 中顯示出來。這時我們可以按下 Ctrl + Shift + A 組合鍵打開 Actions 窗口,輸入 "reg",在出來的結果中選擇 "Registry...",然後找到

cidr.debugger.gdb.workaround.windows.forceExternalConsole

这一項:

勾選上這一項,我們就可以使用外部的 console,這樣一來也就不會出現緩衝區刷新不及時的情況了。

### STM32在CLion中的调试配置与故障排查 对于STM32项目,在CLion环境中遇到无法进入调试模式的问题,通常涉及多个方面的原因分析和解决方案。 #### 1. 开发环境设置确认 确保已经按照标准流程完成了必要的开发环境准备[^1]。这包括但不限于安装了正确的工具链版本以及IDE插件支持。特别是GDB调试器及其配套组件应当被正确集成到CLion当中。 #### 2. 硬件连接验证 检查硬件设备之间的物理链接状态良好无误,比如USB线缆完好、目标板电源正常工作等。另外还需注意所使用的ST-Link驱动程序是否最新并已妥善安装于主机操作系统之上。 #### 3. 工程属性调整 如果上述两项均未发现问题,则需进一步审查工程本身的构建选项: - **CMakeLists.txt文件**:此文件定义了整个项目的编译规则,其中应包含指向适当路径下的`stm32fxxx_hal_conf.h`头文件声明以及其他任何特定于平台的宏定义。 - **启动脚本参数**:当通过命令行调用OpenOCD可以指定额外的初始化指令来辅助定位问题所在;同样地也可以尝试修改`.gdbinit`文件内的相应部分以适应不同场景需求。 ```cmake set(CMAKE_C_STANDARD 99) include_directories( ${PROJECT_SOURCE_DIR}/Drivers/STM32F4xx_HAL_Driver/Inc/ ${PROJECT_SOURCE_DIR}/Drivers/CMSIS/Device/ST/STM32F4xx/Include/ ${PROJECT_SOURCE_DIR}/Drivers/CMSIS/Include/ ) ``` #### 4. OpenOCD配置优化 作为开源JTAG/SWD接口仿真软件之一,OpenOCD扮演着桥接上位机与嵌入式系统的角色。因此其配置文件的内容直接影响到了最终能否顺利建立起有效的通信通道。建议参照官方文档仔细核对每一项设定值,并考虑采用预设模板简化操作过程。 ```bash source [find interface/stlink.cfg] source [find target/stm32f4x.cfg] adapter_khz 8000 transport select hla_swd reset_config srst_only ``` #### 5. GDB远程会话管理 最后一步便是建立稳定的GDB客户端服务器架构,从而实现数据交换的目的。此可借助图形界面版或纯文本终端两种方式来进行交互测试直至找到最合适的组合形式为止。 ---
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值