gpt4 book ai didi

c++ - 教 gdb 从核心文件中理解微线程

转载 作者:塔克拉玛干 更新时间:2023-11-03 07:55:33 26 4
gpt4 key购买 nike

我正在开发一个采用(定制的)微线程解决方案的大型程序。有时我需要调试崩溃。在这种时候,能够从一个微线程切换到另一个微线程是很有用的。

如果我正在进行实时调试,我可以将所有寄存器替换为来自微线程上下文的寄存器。我已经编写了一个宏来执行此操作,而且效果非常好。

问题是如果我正在进行事后调试(从核心文件),我无法更改寄存器值。在这种情况下,我无法告诉 GDB 改变其当前帧的概念,因为在这种情况下所有寄存器都被视为只读。

有没有办法告诉 GDB 我的自定义上下文管理?

沙查尔

最佳答案

在 gdb 中没有一种简单的内置方法可以做到这一点。

我认为最简单的方法可能是编写一个 gdbserver 版本,它可以读取您的核心文件并将您的微线程作为真实线程呈现给 gdb。至少有一个 gdbserver 已经可以读取核心文件,所以也许它并不难。但是,我真的不能肯定地说。

关于c++ - 教 gdb 从核心文件中理解微线程,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19972568/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com