我现在学习使用多处理器进行嵌入式开发,我想询问是否可以在调试模式下强制进行上下文切换,以访问我想要的特定线程? 如果有可能,有没有办法通过调试器执行此操作? 我使用的调试器是gdb来调试系统。
我已经阅读了这里发布的帖子,但没有真正帮助我解决这些问题。
p.s,我知道这可能不是安全行动,但对我来说是必要的。
提前感谢。
答案 0 :(得分:2)
这是否可行或可取取可能取决于您的操作系统和应用程序的性质。在典型的基于RTOS的应用中,这种动作通常是不合适的。通常在RTOS中,线程使用某些阻塞功能等待某些事件。切换到该线程时,如果没有发生预期,则需要“解锁”,因此后续处理可能会失败。
RTOS中的大多数阻塞函数都有一个超时选项,导致函数在没有事件发生的情况下返回。在线程被阻塞并且等待超时或事件的函数之后设置断点将允许您开始步进线程。