pio debug --interface=gdb --interpreter=mi2 无法将诊断信息封装成合适的格式

作者: elmot创建于 2025年4月2日更新于 2026年9月5日
标签bugdebugging

重现步骤:

  1. 创建一个具有以下 platformio.ini 的项目:
ini
[env:hifive1]
platform = sifive
board = hifive1
framework = freedom-e-sdk
debug_tool = qemu
build_type = debug
  1. 在mi模式下启动调试会话: pio debug --interface=gdb --interpreter=mi2 -x .pioinit --iex "set mi-async on" -e hifive1
  2. 发出命令: x/xb 0xc000000 预期结果: 格式正确的MI记录。例如,错误应如下所示:
^error,msg="sifive_plic_read: Invalid register read 0x0"
~"0xc000000:\t0x00\n"
^done

实际结果: 格式不正确的文本:

sifive_plic_read: Invalid register read 0x0
~"0xc000000:\t0x00\n"
^done

内容来源: platformio/platformio-core