无论如何,我的c++应用程序与GDB通信

Anyway for my c++ application to communicate with GDB?

本文关键字:GDB 通信 应用程序 c++ 我的 无论如何      更新时间:2023-10-16

我想读一个core-dump文件转储与gcore。
但是,我想在我的c++应用程序中读取coredump文件,而不是使用gdb终端命令。
例如,我有一个可执行程序'testEx',它被某些原因杀死,然后'testEx'留下了一个核心转储。
我正在创建一个c++应用程序'readGDB'来分析由'testEx'创建的核心转储。
任何c++库和示例来读取核心文件?

任何c++库和示例来读取核心文件?

读取core是微不足道的:你只需要openread

重要的是理解内容的含义。core文件是ELF文件,因此它有很多内部结构,libelf等库可以帮助您阅读core的特定部分。

但是离GDB的功能还有很长一段距离:要真正理解内容,还需要实现符号管理、堆栈展开和更多的东西。简而言之,您将不得不重新实现一半的GDB。

那么为什么不直接使用GDB呢?您可以从您的应用程序中与GDB对话,并使它为您提供您正在寻找的答案。GDB有一个特殊的机器接口模式。