嗨,我想知道当我连接到 stm32 时是否有办法阻止程序停止
启动.json
{
"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,
}
这是调试控制台中显示的内容
Setting GDB-Server CWD: C:\ST\STM32CubeIDE_1.14.0\STM32CubeIDE\plugins\com.st.stm32cube.ide.mcu.externaltools.stlink-gdb-server.win32_2.1.100.202310302101\tools\bin
Launching gdb-server: "C:\\ST\\STM32CubeIDE_1.14.0\\STM32CubeIDE\\plugins\\com.st.stm32cube.ide.mcu.externaltools.stlink-gdb-server.win32_2.1.100.202310302101\\tools\\bin\\ST-LINK_gdbserver.exe" -p 50000 -cp "C:\\ST\\STM32CubeIDE_1.14.0\\STM32CubeIDE\\plugins\\com.st.stm32cube.ide.mcu.externaltools.cubeprogrammer.win32_2.1.100.202311100844\\tools\\bin" --swd --attach --halt
尝试在 launch.json 中添加 postAttachCommands 或 postLaunchCommands。
您可以在此链接中找到列出并解释的 Cortex-debug 属性。
以下应该有效:
{
"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,
"postAttachCommands" : ["continue"]
}