2013-04-02 68 views
1

我已將windbg註冊爲事後調試(通過-I命令行開關),並且所有工作都適用於非升級應用程序。但是,如果提升的應用程序崩潰,windbg啓動並顯示「無法附加到進程。訪問被拒絕」錯誤。是否有可能以某種方式配置windbg,因此它可以用作高級應用程序的事後調試器?如何將windbg設置爲高級應用程序的事後調試器?

+0

奇怪的是,死後調試器通常以與崩潰的應用程序相同的權限運行,所以應該沒有問題,它是否在調試32位或64位應用程序,並且您是否配置了正確的版本WinDbg的?聽起來很愚蠢,但你已經註冊了32位的32位崩潰和64位的WinDbg的64位應用程序? – EdChum

+0

我已註冊64位WinDbg並使用32位應用程序。它可能是一個問題嗎?如果是這樣,是否有可能同時擁有32位和64位事後調試器? – grigoryvp

+0

我這麼認爲,沒有誠實地嘗試過,但看看如果註冊32位應用程序可以解決您的直接問題,對不起,它在我的時區晚了,但這些鏈接可能有幫助:http://msdn.microsoft.com/en-us /library/windows/hardware/ff553427%28v=vs.85%29.aspx和此:http://msdn.microsoft.com/en-gb/library/windows/hardware/ff542967%28v=vs.85%29 .aspx – EdChum

回答

1

既然你提到,它是在x64系統上的x86應用程序,你需要在Wow6432Node設置這些REGKEYS:

Windows Registry Editor Version 5.00 

[HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Microsoft\Windows NT\CurrentVersion\AeDebug] 
"UserDebuggerHotKey"=dword:00000000 
"Debugger"="\"C:\\debuggers\\windbg.exe\" -p %ld -e %ld -g" 
"Auto"="1" 

注意,這些都是字符串值(REG_SZ),我假設windbg.exe安裝在C:\debuggers。根據情況更改。

+0

這幾乎是使用'-i'命令行開關的效果。 –

+0

我使用procmon追蹤'windbg -I'命令,它添加'wow6432node'註冊表項。 – sergmat

+0

當我運行'windbg -I'時,它只添加了64位regkey。我不得不在Wow6432Node中手動添加上述內容。 – nithins

相關問題