"Unable to start debugging. No process is associated with this object." - Visual Studio 代码中带有 GDB 和 openOCD 的 STM32F4
"Unable to start debugging. No process is associated with this object." - STM32F4 with GDB and openOCD in Visual Studio Code
Windows 10
VSCode1.28.1
VSC CPP 工具扩展 0.19.0
开发板:Multitech MTUDK2-ST
OpenOCD 0.10.0
GDB(7.12.1.20170417.git 作为 GNU ARM 工具链 6-2017-q2-update 的一部分)
正在尝试根据此进行调试 setup/example。使用 Mbed CLI (1.8.2) 编译二进制文件在命令提示符下运行良好。也可以在一个命令提示符实例中成功启动 openOCD,并通过 VS Code 终端会话中的 GDB 会话与其通信(使用 arm-none-eabi-gdb 启动)。
启动调试会话会在 VSC 调试控制台上生成以下输出:
1: (628) LaunchOptions<LocalLaunchOptions xmlns='http://schemas.microsoft.com/vstudio/MDDDebuggerOptions/2014'
1: (667) LaunchOptions ExePath='Z:\VoboNode_vsc_nucleo_f411RE\VoBoNode\BUILD\MTS_MDOT_F411RE\GCC_ARM-DEBUG\VoBoNode.elf'
1: (667) LaunchOptions WorkingDirectory='Z:\VoboNode_vsc_nucleo_f411RE\VoBoNode'
1: (667) LaunchOptions ExeArguments=''
1: (667) LaunchOptions MIMode='gdb'
1: (667) LaunchOptions MIDebuggerPath='C:\Program Files (x86)\GNU Tools ARM Embedded 2017-q2-update\bin\arm-none-eabi-gdb.exe'
1: (667) LaunchOptions WaitDynamicLibLoad='false'
1: (667) LaunchOptions DebugServer='C:\OpenOCD\openocd-0.10.0\bin\openocd.exe'
1: (667) LaunchOptions DebugServerArgs='-f C:\OpenOCD\openocd-0.10.0\scripts\board\st_nucleo_f4.cfg -f C:\OpenOCD\openocd-0.10.0\scripts\interface\stlink-v2-1.cfg -c init -c "reset init"'
1: (667) LaunchOptions ServerStarted='target halted due to debug-request, current mode: Thread'
1: (667) LaunchOptions FilterStderr='true'
1: (667) LaunchOptions ServerLaunchTimeout='20000'
1: (667) LaunchOptions>
1: (667) LaunchOptions <SetupCommands>
1: (668) LaunchOptions <Command IgnoreFailures='false' Description=''>-environment-cd Z:\VoboNode_vsc_nucleo_f411RE\VoBoNode\BUILD\MTS_MDOT_F411RE\GCC_ARM\</Command>
1: (668) LaunchOptions <Command IgnoreFailures='false' Description='connect to target'>-target-select remote localhost:3333</Command>
1: (668) LaunchOptions <Command IgnoreFailures='false' Description='load file'>-file-exec-and-symbols VoBoNode.elf</Command>
1: (668) LaunchOptions <Command IgnoreFailures='false' Description=''>-interpreter-exec console "monitor endian little"</Command>
1: (668) LaunchOptions <Command IgnoreFailures='false' Description=''>-interpreter-exec console "monitor reset"</Command>
1: (668) LaunchOptions <Command IgnoreFailures='false' Description=''>-interpreter-exec console "monitor halt"</Command>
1: (668) LaunchOptions <Command IgnoreFailures='false' Description=''>-interpreter-exec console "monitor arm semihosting enable"</Command>
1: (668) LaunchOptions <Command IgnoreFailures='false' Description='flash target'>-target-download</Command>
1: (668) LaunchOptions </SetupCommands>
1: (668) LaunchOptions</LocalLaunchOptions>
1: (806) Starting: "C:\OpenOCD\openocd-0.10.0\bin\openocd.exe" -f C:\OpenOCD\openocd-0.10.0\scripts\board\st_nucleo_f4.cfg -f C:\OpenOCD\openocd-0.10.0\scripts\interface\stlink-v2-1.cfg -c init -c "reset init"
1: (1007) "C:\OpenOCD\openocd-0.10.0\bin\openocd.exe" exited with code 1 (0x1).
1: (1023) <-logout
请注意,使用 "Starting:" 之后显示的确切命令行(第 806 行)手动启动 openOCD 工作正常。我怀疑 SetupCommands(多行 668)存在问题,导致 OpenOCD 会话无法启动。无论如何,我不确定应该如何从手动启动的 GDB 会话提示中执行 OP 的 GDB 命令,因此我很难排除故障。
成功了。以前构建的内容出现在 VS Code 构建查找加载以进行调试的位置似乎是一个问题。删除整个文件夹并允许 VS Code 通过新构建重新填充它解决了 openOCD 错误。现在,即使我不删除以前构建中的内容,构建也能正常工作。不完全确定为什么会这样,但确实如此。
Windows 10
VSCode1.28.1
VSC CPP 工具扩展 0.19.0
开发板:Multitech MTUDK2-ST
OpenOCD 0.10.0
GDB(7.12.1.20170417.git 作为 GNU ARM 工具链 6-2017-q2-update 的一部分)
正在尝试根据此进行调试 setup/example。使用 Mbed CLI (1.8.2) 编译二进制文件在命令提示符下运行良好。也可以在一个命令提示符实例中成功启动 openOCD,并通过 VS Code 终端会话中的 GDB 会话与其通信(使用 arm-none-eabi-gdb 启动)。
启动调试会话会在 VSC 调试控制台上生成以下输出:
1: (628) LaunchOptions<LocalLaunchOptions xmlns='http://schemas.microsoft.com/vstudio/MDDDebuggerOptions/2014'
1: (667) LaunchOptions ExePath='Z:\VoboNode_vsc_nucleo_f411RE\VoBoNode\BUILD\MTS_MDOT_F411RE\GCC_ARM-DEBUG\VoBoNode.elf'
1: (667) LaunchOptions WorkingDirectory='Z:\VoboNode_vsc_nucleo_f411RE\VoBoNode'
1: (667) LaunchOptions ExeArguments=''
1: (667) LaunchOptions MIMode='gdb'
1: (667) LaunchOptions MIDebuggerPath='C:\Program Files (x86)\GNU Tools ARM Embedded 2017-q2-update\bin\arm-none-eabi-gdb.exe'
1: (667) LaunchOptions WaitDynamicLibLoad='false'
1: (667) LaunchOptions DebugServer='C:\OpenOCD\openocd-0.10.0\bin\openocd.exe'
1: (667) LaunchOptions DebugServerArgs='-f C:\OpenOCD\openocd-0.10.0\scripts\board\st_nucleo_f4.cfg -f C:\OpenOCD\openocd-0.10.0\scripts\interface\stlink-v2-1.cfg -c init -c "reset init"'
1: (667) LaunchOptions ServerStarted='target halted due to debug-request, current mode: Thread'
1: (667) LaunchOptions FilterStderr='true'
1: (667) LaunchOptions ServerLaunchTimeout='20000'
1: (667) LaunchOptions>
1: (667) LaunchOptions <SetupCommands>
1: (668) LaunchOptions <Command IgnoreFailures='false' Description=''>-environment-cd Z:\VoboNode_vsc_nucleo_f411RE\VoBoNode\BUILD\MTS_MDOT_F411RE\GCC_ARM\</Command>
1: (668) LaunchOptions <Command IgnoreFailures='false' Description='connect to target'>-target-select remote localhost:3333</Command>
1: (668) LaunchOptions <Command IgnoreFailures='false' Description='load file'>-file-exec-and-symbols VoBoNode.elf</Command>
1: (668) LaunchOptions <Command IgnoreFailures='false' Description=''>-interpreter-exec console "monitor endian little"</Command>
1: (668) LaunchOptions <Command IgnoreFailures='false' Description=''>-interpreter-exec console "monitor reset"</Command>
1: (668) LaunchOptions <Command IgnoreFailures='false' Description=''>-interpreter-exec console "monitor halt"</Command>
1: (668) LaunchOptions <Command IgnoreFailures='false' Description=''>-interpreter-exec console "monitor arm semihosting enable"</Command>
1: (668) LaunchOptions <Command IgnoreFailures='false' Description='flash target'>-target-download</Command>
1: (668) LaunchOptions </SetupCommands>
1: (668) LaunchOptions</LocalLaunchOptions>
1: (806) Starting: "C:\OpenOCD\openocd-0.10.0\bin\openocd.exe" -f C:\OpenOCD\openocd-0.10.0\scripts\board\st_nucleo_f4.cfg -f C:\OpenOCD\openocd-0.10.0\scripts\interface\stlink-v2-1.cfg -c init -c "reset init"
1: (1007) "C:\OpenOCD\openocd-0.10.0\bin\openocd.exe" exited with code 1 (0x1).
1: (1023) <-logout
请注意,使用 "Starting:" 之后显示的确切命令行(第 806 行)手动启动 openOCD 工作正常。我怀疑 SetupCommands(多行 668)存在问题,导致 OpenOCD 会话无法启动。无论如何,我不确定应该如何从手动启动的 GDB 会话提示中执行 OP 的 GDB 命令,因此我很难排除故障。
成功了。以前构建的内容出现在 VS Code 构建查找加载以进行调试的位置似乎是一个问题。删除整个文件夹并允许 VS Code 通过新构建重新填充它解决了 openOCD 错误。现在,即使我不删除以前构建中的内容,构建也能正常工作。不完全确定为什么会这样,但确实如此。