应该可以创建一个64位/ 32位包装扩展?

问题描述:

某些WinDbg扩展只能用于32位。如果我会应该可以创建一个64位/ 32位包装扩展?

  • 写一个64位扩展为WinDbg的
  • 写,其与64位扩展
  • 1进行通信的32位应用程序(可执行):1向前从64 DbgEng API的所有呼叫bit extension to the executable

是否应该重新使用64位WinDbg上的32位插件?

这个假设是,它不需要处理指针,只是帮助字符串处理(在调试器上执行命令并解析其文本输出)。

我无法发表评论,所以发布一个答案。这是一个答案,上述

您的评论。如果你想使用x86的代理程序运行的x86 WinDbg的插件,你将有调试相同的限制:您的代理程序将无法连接到x64应用

+0

我想写一个64位的扩展名,所以它会运行在64位WinDbg中。然后我进行一些进程间通信来与32位可执行文件进行通信。 32位应用程序会将呼叫转发到32位WinDbg扩展。如果这可行,我可以使用64位WinDbg。 –

+0

我觉得这太难了。您需要拦截x86插件中的所有调试引擎调用,并将它们的所有参数重定向回x64 windbg,在x64环境中执行并将结果返回给x86 windbg。您可以尝试使用调试引擎接口来执行OLE服务器,并通过MIDL + RPC进行工作。 –

我觉得使用x86 windbg更容易。调试工具的Windows有这两个。

+0

使用WinDbg x86调试64位应用程序?这不起作用:“无法附加到进程3004,NTSTATUS 0xC00000BB”,所以我必须使用WinDbg x64。 –