2014-02-25 55 views
2

我寫了一個小的VSIX插件,它可以將調試器附加到特定的進程。這個過程是用c#和C++代碼編寫的,所以我需要使用託管引擎和本地引擎來連接它。從Visual Studio可以通過選擇由DEBUG打開的窗口中這些發動機簡單地實現 - >附加到進程 - >選擇...鍵盤快捷鍵不工作後進程附加(調試過程中的Visual Studio 2013錯誤)

enter image description here

下面,我已經證明了這基本上做同樣的事情,用Process2.Attach2MSDN)代碼示例:

EnvDTE80.DTE2 dte = GetService(typeof(SDTE)) as EnvDTE80.DTE2; 
EnvDTE80.Debugger2 dteDebugger = dte.Debugger as EnvDTE80.Debugger2; 
EnvDTE80.Transport transport = dteDebugger.Transports.Item("default"); 
EnvDTE80.Engine[] engines = new[] { transport.Engines.Item("managed/native") }; 
process.Attach2(engines); 

不幸的是,同樣的代碼作品VS2012,不會爲VS2013工作(更新一)

我注意到的是鍵盤問題。 Visual Studio不對按鍵快捷鍵作出反應。例如,如果我按F10,則調試器不執行任何操作。如果我想跨越任何斷點,我需要用鼠標代替並訪問上下文菜單:調試 - >跳過

這很煩人,我需要鍵盤來控制調試器。有沒有人注意到這個問題並已經解決了?

BTW:如果我使用管理僅發動機(transport.Engines.Item("managed")),鍵盤開始正常工作。但因爲我需要通過非託管代碼進行調試,所以我需要額外的引擎 - 本機之一。

編輯:我也有reported it微軟連接網絡。

回答

0

我找到了臨時解決方法。要解決這個問題,我打開工具 - >選項 - >調試 - >常規和檢查使用託管兼容性模式選項:

enter image description here

更重要的是,這種變化矛盾解決另一個,看似無關的問題,即表達式的評估立即某些特定情況下的窗口(我也注意到前幾天)。

UPDATE:

我發現使用Microsoft Visual Studio 2013高級版,版本更新12.0.30110.00 1

安裝版本12.0.30219.00更新2 CTP後這個問題,這個問題是沒有對我來說更長的重現性。

相關問題