无论如何,我的c++应用程序与GDB通信
Anyway for my c++ application to communicate with GDB?
我想读一个core-dump文件转储与gcore。
但是,我想在我的c++应用程序中读取coredump文件,而不是使用gdb终端命令。
例如,我有一个可执行程序'testEx',它被某些原因杀死,然后'testEx'留下了一个核心转储。
我正在创建一个c++应用程序'readGDB'来分析由'testEx'创建的核心转储。
任何c++库和示例来读取核心文件?
任何c++库和示例来读取核心文件?
读取core
是微不足道的:你只需要open
和read
。
重要的是理解内容的含义。core
文件是ELF
文件,因此它有很多内部结构,libelf
等库可以帮助您阅读core
的特定部分。
但是离GDB的功能还有很长一段距离:要真正理解内容,还需要实现符号管理、堆栈展开和更多的东西。简而言之,您将不得不重新实现一半的GDB。
那么为什么不直接使用GDB呢?您可以从您的应用程序中与GDB对话,并使它为您提供您正在寻找的答案。GDB有一个特殊的机器接口模式。
相关文章:
- 当在带有Eigen的C++中使用GDB时,我如何才能看到更多的大矩阵
- 如何找出GDB的SIGTRAP核心转储的根本原因
- VSOMEIP-2个设备之间的通信(TCP/UDP)不工作
- 是否可以使用winusb同时与多个相同的usb设备进行通信
- 如何使用gdb制作一个可以漂亮地打印每个对象的C++函数
- 混淆了如何使用IDL与Ethovision进行通信
- gdb错误:Backtrace已停止:上一帧与此帧相同(堆栈已损坏?)
- 使用vscode调试时,GDB意外退出
- C++ Boost::asio串行通信与Arduino无法写入
- 我是否需要包含隐式使用/与 WindowsAPI 通信"Windows.h"?
- 通过TCP的PvP通信问题
- C++一个线程如何正确通信其任务已完成?
- 如何将 Firebase 与基于 Linux 的客户端应用配合使用,以便与服务器进行双向消息通信
- 如何防止 CUDA-GDB 中的<优化输出>值
- fopen 在 gdb 中返回 NULL
- "Unable to start debugging. No process is associated with this object." - 在Visual Studio Code中使用GDB
- 结构字段名称与 GDB 中的 STL 数组冲突
- 如何在带有 gdb GUI 前端的 ARM gdbserver 的 PC 上执行远程 gdb 会话?
- GDB 断点在 Mac 上是不准确的
- 无论如何,我的c++应用程序与GDB通信