我正在开发一个使用(定制的)微线程解决方案的大型程序。有时我需要调试崩溃。在这种情况下,能够从一个微线程切换到另一个微线程是很有用的。
如果我正在进行实时调试,我可以将所有寄存器替换为来自微线程上下文的寄存器。我写了一个宏来做到这一点,而且效果很好。
问题是,如果我正在进行事后调试(来自核心文件),我无法更改寄存器值。在这种情况下,我无法告诉 GDB 改变它对当前帧是什么的概念,因为在这种情况下所有寄存器都被认为是只读的。
有没有办法告诉 GDB 我的自定义上下文管理?
沙查尔
我正在开发一个使用(定制的)微线程解决方案的大型程序。有时我需要调试崩溃。在这种情况下,能够从一个微线程切换到另一个微线程是很有用的。
如果我正在进行实时调试,我可以将所有寄存器替换为来自微线程上下文的寄存器。我写了一个宏来做到这一点,而且效果很好。
问题是,如果我正在进行事后调试(来自核心文件),我无法更改寄存器值。在这种情况下,我无法告诉 GDB 改变它对当前帧是什么的概念,因为在这种情况下所有寄存器都被认为是只读的。
有没有办法告诉 GDB 我的自定义上下文管理?
沙查尔