gdb - openocd freertos awareness 无法启动gdb

标签 gdb freertos gdbserver openocd

我有一个带有 openocd 和 arm-none-eabi-gdb 的设置,我正在尝试调试 FreeRTOS fw。

我用以下命令启动 openocd:

openocd -f /usr/local/share/openocd/scripts/board/stm32f0discovery.cfg -c "stm32f0x.cpu configure -rtos auto"

该命令工作正常。

然后我运行 arm-none-eabi-gdb -tui在我的 .gdbinit 的末尾,我有:

target remote localhost:3333
monitor reset halt
file build/fw.elf
load
continue
focus next

但是当我试图停止时 <ctrl>-c并开始continue我得到的只是错误:

Cannot execute this command without a live selected thread.

我错过了什么?

我正在使用 JLink Base 调试器。

最佳答案

我的情况与您的情况有点不同,使用 QtCreator 及其 Baremetal 插件进行设置,但发现了一份错误报告,其中说明了解决方法:

https://bugreports.qt.io/browse/QTCREATORBUG-18436

解决方法很简单:

in GDB Init commands add "info threads" after load command. It fixes issue.

我试过了,它成功了,错误消息被删除了,现在我可以在 FreeRTOS 中看到不同的任务。

关于gdb - openocd freertos awareness 无法启动gdb,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46335552/

相关文章:

linux - 交叉编译 gdbserver 时出错

GDB:使用操作码检查指令

linux - 通过 ssh : how to redirect stdin 启动的 c++ 进程的 gdb 远程调试

c - 调试msp430时在GDB中打印变量值

task - 关于 pxHigherPriorityTaskWoken

c - 互斥体的 getter 和 setter 最佳实践

c - 未声明的变量交叉 C 链接器或编译器

permissions - GDB 权限

c - 检查传递给 gdb 中函数的多维数组

linux - GDB 符号从哪里来?