Отладка в COM из MSTest - PullRequest
       15

Отладка в COM из MSTest

2 голосов
/ 20 сентября 2011

Попытка отладки COM-библиотеки, написанной на C ++, с помощью mstest run (Visual Studio 2008).Все проекты находятся в одном решении.3 Проекты: C ++ COM dll, VB.NET WinForms App, C # MSTest Project.

Если я запускаю приложение VB.NET Forms, я могу успешно взломать и войти в COM dll.Точки останова, установленные в C ++, работают правильно.

Проблема возникает, когда вы пытаетесь прорваться и войти в сеанс отладки MSTest.Я могу взломать тестовый код C #.Тем не менее, изнутри mstest, я не могу войти в dll COM.Точка останова, установленная в C ++, также никогда не получает удар.Флажок отладки в неуправляемом коде отмечен в свойствах отладки проекта.

До сих пор пробовал:

  1. Отключение развертывания тестов: без эффекта
  2. Добавлен модульный тест вприложение VB.NET формы.При запуске в качестве модульного теста он не разбивается и не вступает ни в один из них, так что это не является разницей в проекте или в ссылке.
  3. Попытка подключения к процессу vstesthost из свойств COM DLL, но получениеошибка: «Невозможно подключиться. Была предпринята попытка выполнить операцию инициализации, когда инициализация уже завершена».

Кто-нибудь сталкивался с проблемами в MSTest?Любая помощь будет оценена!

1 Ответ

0 голосов
/ 21 сентября 2011

Теперь я могу отлаживать в C ++ COM-код через MSTest. Кажется, проблема с кнопкой, используемой для запуска теста. Я обнаружил, что при запуске теста с помощью кнопки «Отладочные тесты в текущем контексте» через панель инструментов или меню я не могу отлаживать в C ++ COM-код. Однако, как только тест появляется в окне «Результаты теста», и я запускаю его с помощью кнопки «Отладка проверенных тестов» на панели инструментов окна «Результаты теста», я могу успешно выполнить отладку в коде C ++ COM ...

Я понятия не имею, почему это так, но единственное, что я изменил (и изменил обратно) во время этого, была платформа Solution, но вышеприведенное утверждение справедливо как для режимов .NET, так и для смешанных платформ.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...