我最近下载了MI库并执行/读取了一些示例代码。在我看到的所有示例中,实现都是通过以下单独的程序实现的:
Main Program
Interact with GDB
exec another program
Gather Debug info of the another program
我的问题是如何在当前线程/程序本身内调用/实现GDB,即附加此自执行过程。
答案 0 :(得分:1)
我们如何在当前线程/程序本身内调用/实现GDB MI,即将此自执行/运行进程附加到GDB,然后告诉它逐步执行
你不能。
考虑一下:GDB在附加后首先要做的是停止您的程序,并等待下一步操作的说明。此时,您的程序应该向GDB发送continue
命令,但不能,因为它已已停止。
现在,如果你的程序是多线程的,和你要求GDB以不间断的方式执行,和你仔细安排你的线程执行GDB交互本身永远不会停止,然后也许这可能会起作用。我怀疑它能否可靠地发挥作用。