从 C++ 调用和控制 GDB

Posted

技术标签:

【中文标题】从 C++ 调用和控制 GDB【英文标题】:Invoke and control GDB from c++ 【发布时间】:2011-08-19 04:57:54 【问题描述】:

有没有办法调用GDB和控制,从c++程序中访问它?

【问题讨论】:

我不确定 C++,但 Python 绑定可能适合您:sourceware.org/gdb/current/onlinedocs/gdb/Python.html @Travis Gockel:感谢您的链接。我将尝试从中获取信息以使其在 c++ 中工作。 【参考方案1】:

是的。使用重定向的输入/输出执行它,并通过管道简单地控制它。

编辑:

这取决于你想在哪里做。在 Windows 上,您可以使用以下内容:http://msdn.microsoft.com/en-us/library/ms682499%28v=vs.85%29.aspx

在 *nix 上,Linux Pipes as Input and Output SO 答案中描述的步骤应该可以做到。

【讨论】:

@Ambuja:我已经编辑了带有链接的答案,以解释您如何做到这一点。

以上是关于从 C++ 调用和控制 GDB的主要内容,如果未能解决你的问题,请参考以下文章

使 GDB 在调用函数时打印控制流

如何使用 PyCharm 在远程机器上调试从 Python 调用的 C++ 代码?

gdb:在多线程程序中调用函数而不进行线程

OpenHarmony标准系统实践之GDB调试

GDB调试原理——ptrace系统调用

GDB:将参数转储到特定函数的所有调用