gpt4 book ai didi

c++ - DbgEng - 不通过回调获取命令输出

转载 作者:太空宇宙 更新时间:2023-11-04 02:47:52 25 4
gpt4 key购买 nike

我使用 Microsoft 的 DbgEng 制作了一个独立的调试器应用程序。我想打开第二个线程,将命令发送到另一个 IDebugControl 实例,并且我想获取此 IDebugControl Execute 方法调用的特定输出(并通过 tcp 连接发送)。

我有一个问题,因为来自主线程的 IDebugControl 也向 Execute() 发送命令并且输出可能是混合的。我需要第二个线程,因为一旦它执行像“g”(go) 这样的命令,它将调用 WaitForEvent(),并且在事件发生之前我将无法获得有关目标的任何进一步信息。

我需要一个解决方案。

第二个 IDebugControl 用于仅发送数据请求的操作,如反汇编线、内存转储...我想知道我是否可以制作第二个 IDebugClient 并将其附加到已经打开的调试进程,然后问题就解决了,因为我可以给它添加其他回调。

有适合​​我的解决方案吗?

最佳答案

我认为你不应该在等待事件时调用任何命令来调试引擎,除了 IDebugControl::SetInterrupt。

如果您无论如何都想使用两个线程,您可以注册 IDebugOutputCallbacks 回调接口(interface)并使用任何类型的互斥锁处理输出。

关于c++ - DbgEng - 不通过回调获取命令输出,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25462378/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com