Сочетания клавиш не работают после присоединения процесса (ошибка Visual Studio 2013 во время отладки)
Я написал небольшой плагин VSIX, который способен присоединить отладчик к определенному процессу. Этот процесс написан с использованием C# и c++ кода, поэтому мне нужно присоединить к нему как управляемые, так и нативные движки. В Visual Studio это может быть достигнуто просто путем выбора этих движков из окна, открытого DEBUG - > Attach to process... -> Выбирать...:
Ниже я показал пример кода, который в основном делает то же самое, используя Process2.Attach2
(MSDN):
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 (обновление 1).
Что я заметил, так это проблемы с клавиатурой. Visual Studio не реагирует на нажатие клавиш быстрого доступа. Например, если я нажимаю F10 , отладчик ничего не делает. Если я хочу перешагнуть через любую точку останова, мне нужно использовать мышь вместо этого и получить доступ к контекстному меню: DEBUG -> Step Over и т. д.
Это раздражает, мне нужна клавиатура для управления отладчик. Кто-нибудь заметил эту проблему и уже решил ее?
Кстати : Если я использую управляемый движок только (transport.Engines.Item("managed")
), клавиатура начинает работать правильно. Но поскольку мне также нужно отлаживать через неуправляемый код, мне нужен дополнительный движок - родной.
EDIT: я сообщил об этом также в Microsoft Connect network.
2 ответа:
Я нашел временный обходной путь. Чтобы исправить эту проблему, я открыл TOOLS - > Options... - >Отладка - > общие и проверено использовать управляемый режим совместимости опция:
Более того, это изменение парадоксальным образом устраняет другую, казалось бы, не связанную проблему, а именно оценку выражений в Watch или Immediate для некоторых частных случаев (что я также заметил несколько дней назад).Обновление:
Я обнаружил это проблема с использованием Microsoft Visual Studio Premium 2013, версия 12.0.30110.00 обновление 1
После установки версии 12.0.30219.00 Update 2 CTP, эта проблема больше не воспроизводима для меня.
Как Ярек упоминал выше, эта проблема не должна повторяться вUpdate 2 CTP 2 . Если вы все еще сталкиваетесь с этим, пожалуйста, повторно активируйте ошибку Connect