2014-01-10 52 views
0

某些WinDbg擴展只能用於32位。如果我會應該可以創建一個64位/ 32位包裝擴展?

  • 寫一個64位擴展爲WinDbg的
  • 寫,其與64位擴展
  • 1進行通信的32位應用程序(可執行):1向前從64 DbgEng API的所有呼叫bit extension to the executable

是否應該重新使用64位WinDbg上的32位插件?

這個假設是,它不需要處理指針,只是幫助字符串處理(在調試器上執行命令並解析其文本輸出)。

回答

0

我無法發表評論,所以發佈一個答案。這是一個答案,上述

您的評論。如果你想使用x86的代理程序運行的x86 WinDbg的插件,你將有調試相同的限制:您的代理程序將無法連接到x64應用

+0

我想寫一個64位的擴展名,所以它會運行在64位WinDbg中。然後我進行一些進程間通信來與32位可執行文件進行通信。 32位應用程序會將呼叫轉發到32位WinDbg擴展。如果這可行,我可以使用64位WinDbg。 –

+0

我覺得這太難了。您需要攔截x86插件中的所有調試引擎調用,並將它們的所有參數重定向回x64 windbg,在x64環境中執行並將結果返回給x86 windbg。您可以嘗試使用調試引擎接口來執行OLE服務器,並通過MIDL + RPC進行工作。 –

0

我覺得使用x86 windbg更容易。調試工具的Windows有這兩個。

+0

使用WinDbg x86調試64位應用程序?這不起作用:「無法附加到進程3004,NTSTATUS 0xC00000BB」,所以我必須使用WinDbg x64。 –

相關問題