0

我最近下载了 MI 库并执行/阅读了一些示例代码。在我看到的所有示例中,实现都是通过一个单独的程序,如下所示:

Main Program
Interact with GDB
exec another program
Gather  Debug info of the another program

我的问题是我们如何在当前线程/程序本身中调用/实现 GDB,即附加这个自执行过程。

4

1 回答 1

1

我们如何在当前线程/程序本身中调用/实现 GDB MI,即将此自执行/运行进程附加到 GDB,然后告诉它逐步执行

你不能。

想一想:GDB 在附加后要做的第一件事就是停止你的程序,然后等待下一步做什么的指示。此时你的程序应该向 GDB 发送continue命令,但它不能因为它已经停止

现在,如果您的程序是多线程的,并且您要求 GDB 以不间断模式执行,并且您仔细安排事情以使执行 GDB 交互的线程本身永远不会停止,那么也许这可以工作。我怀疑它会可靠地工作。

于 2012-07-17T01:16:56.023 回答