我正在使用 GDB 和 OpenOCD 在 Windows 上的 STM32F4DISCOVERY 板上调试一个简单的程序。这在单独启动 OpenOCD 并使用 TCP/IP 连接到它时工作正常,如下所示:
target remote localhost:3333
完成后,我可以正常关闭 GDB quit
。但是,我想在“远程管道”模式下使用 GDB,而不是需要手动启动和停止 OpenOCD。这对我来说似乎是一个有点理想的配置。但是,当我这样做时,我无法退出 GDB,因为当我尝试退出时它会挂起。
OpenOCD 日志文件显示 GDB 连接已断开:
Info : dropped 'gdb' connection
但是 GDB 永远不会退出:
(gdb) quit
A debugging session is active.
Inferior 1 [Remote target] will be detached.
Quit anyway? (y or n) y
Detaching from program: yagarto_sample.elf, Remote target
Ending remote debugging.
该disconnect
命令同样挂起,永远不会返回。甚至 Ctrl-C 也不会唤醒 GDB。