VSCode使用Cortex-Debug连接STM32时如何避免程序暂停?
解决VSCode Cortex-Debug通过ST-Link连接STM32时程序暂停的问题
要避免attach连接时程序暂停,只需修改launch.json配置,阻止Cortex-Debug向ST-LINK gdbserver传递暂停指令:
- 在你的launch.json配置中添加
"haltOnConnect": false项,覆盖attach模式下默认的暂停行为。
修改后的完整配置如下:
{ "name": "Attach STM32 STLink", "showDevDebugOutput": "parsed", "cwd": "${workspaceRoot}", "executable": "${command:cmake.launchTargetPath}", "request": "attach", "type": "cortex-debug", "servertype": "stlink", "device": "STM32G030F6PX", "svdFile": "${command:vscode-embedded.st.svd}/STM32G030.svd", "v1": false, "breakAfterReset": false, "haltOnConnect": false }
- 原理说明:
你当前调试控制台显示的ST-LINK gdbserver命令带有--halt参数,这是因为Cortex-Debug在attach模式下默认启用haltOnConnect: true,强制连接时暂停目标设备。添加haltOnConnect: false后,该参数会被移除,程序会保持运行状态,不会在连接过程中暂停。
内容的提问来源于stack exchange,提问作者jotehas373
相关产品推荐
相关产品推荐

