TL; DR :在Eclipse中启动时,在Eclipse之外完美运行的调试工具链会自动终止。
操作系统:macOS Sierra 10.12.3
IDE :适用于C / C ++开发人员的Eclipse IDE,Mars.2,版本4.5.2
目标板:WIZwiki-W7500P(通过CMSIS-DAP进行交互式调试)
嵌入式平台:mbed-os 5.4
片上调试器:pyOCD 0.8.1a1
调试器:arm-none-eabi-gdb 7.12.0.20161204-git
编译器:arm-none-eabi-gcc(适用于ARM嵌入式处理器的GNU工具)6.2.1 20161205
关注this tutorial,我的目标是使用 gdb 在Eclipse中进行调试。通过命令行,
$ pyocd-gdbserver
成功启动服务器并检测电路板,然后
$ arm-none-eabi-gdb
成功启动调试器并可以连接到服务器。该程序通过 mbed-cli 成功编译为二进制文件:
$ mbed compile -t GCC_ARM -m WIZWIKI_W7500P
并闪烁到板上,并执行没有问题。
此外,还会生成 .elf ,可以进行交互式调试,添加断点,并且可以在电路板上运行时逐步执行功能。
最后,该程序似乎成功导出到Eclipse:
$ mbed export -t eclipse_gcc_arm WIZWIKI_W7500P --profile mbed-os/tools/profiles/debug.json
包括自动生成Makefile,它成功地编排了Eclipse中的构建。
然而,Eclipse中的 gdb 和 pyocd-gdbserver 在使用以下输出开始调试后不久终止(尽管配置完全正确当我在我的终端中运行它们时:
gdb痕迹:
650,101 2-gdb-show language
650,102 2^done,value="auto"
650,102 (gdb)
650,103 3-data-evaluate-expression "sizeof (void*)"
650,104 3^done,value="4"
650,104 (gdb)
650,104 4-gdb-set language auto
pyocd-gdbserver(n.b.只有最后一行与终端中的内容不同):
WARNING:root:Unsupported board found 2203
INFO:root:DAP SWD MODE initialised
INFO:root:ROM table #0 @ 0xe00ff000 cidr=b105100d pidr=4000bb471
INFO:root:[0]<e000e000:SCS-M0+ cidr=b105e00d, pidr=4000bb008, class=14>
INFO:root:[1]<e0001000:DWT-M0+ cidr=b105e00d, pidr=4000bb00a, class=14>
INFO:root:[2]<e0002000:BPU cidr=b105e00d, pidr=4000bb00b, class=14>
INFO:root:CPU core is Cortex-M0
INFO:root:4 hardware breakpoints, 0 literal comparators
INFO:root:2 hardware watchpoints
INFO:root:Telnet: server started on port 4444
INFO:root:GDB server started at port:3333
Started by GNU ARM Eclipse
我重新安装了每个组件,开始了一个新的工作空间,并尝试了诸如以下的偏好:
如何阻止此调试系统终止?