如何使用GDB远程串行协议查询线程堆栈帧和局部变量?

如何使用GDB远程串行协议查询线程堆栈帧和局部变量?,gdb,remote-debugging,Gdb,Remote Debugging,我正在努力实现。到目前为止,我只是在阅读文档,但找不到如何获取线程的堆栈框架和局部变量信息。我怎样才能得到这些信息 我正在实现UI。我认为这是GDB(本地)部分 听起来你的问题是: 假设我已经在某个地方停止了一个进程(由gdbserver控制),那么我如何找出它停止的位置(在哪个函数中)(即当前堆栈帧是什么)、在该点上存在哪些局部变量(它们在内存中的什么位置) 坏消息是:要回答上述问题,您必须重新实现GDB的30-50%。您可以开始(“特别是查找变量”部分),但可能应该阅读全文。“我正在尝试实现

我正在努力实现。到目前为止,我只是在阅读文档,但找不到如何获取线程的堆栈框架和局部变量信息。我怎样才能得到这些信息

我正在实现UI。我认为这是GDB(本地)部分

听起来你的问题是:

假设我已经在某个地方停止了一个进程(由gdbserver控制),那么我如何找出它停止的位置(在哪个函数中)(即当前堆栈帧是什么)、在该点上存在哪些局部变量(它们在内存中的什么位置)


坏消息是:要回答上述问题,您必须重新实现GDB的30-50%。您可以开始(“特别是查找变量”部分),但可能应该阅读全文。

“我正在尝试实现GDB远程串行协议。”--您是在尝试实现GDB(本地)部分,还是gdbserver(远程)部分,或者两者兼而有之?@我正在实现UI。我认为这是GDB(本地)部分。是的,这正是我要问的。可悲的是,GDB对我来说似乎太低了。似乎我需要实现所有特定于平台/语言的解析代码。根据您的信息,我决定转到更高级别的LLDB API。谢谢你节省我的时间!