2011-09-19 78 views
2

在调试运行自定义RTOS的远程目标的情况下,需要向GDB添加线程支持?是否可以将自定义RTOS的线程支持添加到GDB中?

就我而言,我可以访问所有调度程序符号的RTOS源代码和调试信息,因此理论上可以访问这些信息。

这是否意味着重新编译GDB?将钩子添加到线程相关的命令?

任何评论将不胜感激!

+0

当你在GDB中输入'info threads'时,你会得到什么信息?它对你的目标有什么要求?你应该能够使用这些信息来使它工作。 –

+0

对不起,我应该提到我已经尝试过了。 GDB回答“此目标不支持线程”错误。 – salicideblock

回答

2

您需要为gdb RTOS存根添加线程支持(特别是支持HqXfer:threads:read数据包)。文档herehere

+0

谢谢。我没有想过查看数据包文档。您的链接将是一个很好的开始。 – salicideblock

+0

正如http://events.linuxfoundation.org/sites/events/files/slides/ELC-E%20Linux%20Awareness.pdf所述,用于RTOS感知的JTAG解决方案比RTOS本身的修改更可取。但我不认为GDB C扩展是要走的路,因为GDB中的每个RTOS都不会有依赖关系。所以我更喜欢python扩展的方式。但看来,线程处理还没有暴露给python。有没有人有更多的信息?计划吗? – Zappel

+0

找到了更新的幻灯片和邮件列表中的其他东西: http://events.linuxfoundation.org/sites/events/files/slides/Debugging%20the%20Linux%20Kernel%20with%20GDB.pdf https:// sourceware。组织/毫升/ GDB-贴剂/ 2015-06/msg00040.html – Zappel

相关问题