【发布时间】:2014-08-23 13:21:17
【问题描述】:
我使用 Microsoft 的 DbgEng 制作了一个独立的调试器应用程序。 我想打开一个将命令发送到另一个 IDebugControl 实例的第二个线程,并且我想获取此 IDebugControl Execute 方法调用的特定输出(并通过 tcp 连接发送它)。
我有一个问题,因为来自主线程的 IDebugControl 也将命令发送到 Execute() 并且输出可能是混合的。 我需要第二个线程,因为一旦它执行像“g”(go)这样的命令,它将调用 WaitForEvent(),并且在事件发生之前我将无法获得有关目标的任何进一步信息。
我需要一个解决方案。
第二个 IDebugControl 用于仅发送数据请求的操作,例如反汇编行、内存转储... 我想知道我是否可以制作第二个 IDebugClient 并将其附加到已经打开的调试进程中,然后问题就解决了,因为我可以对其进行其他回调。
有没有适合我的解决方案?
【问题讨论】:
标签: c++ c multithreading windbg dbgeng