Отладка нативного / управляемого C ++ в VS 2010 с помощью NUnit - PullRequest
5 голосов
/ 30 сентября 2011

Есть ли способ установить точки останова и пройти их, используя NUnit со смешанным проектом нативного C ++ и управляемого C ++?

У меня SUT (тестируемое программное обеспечение) настроен как статическая библиотека (нативный C ++) У меня есть мой модульный набор тестов как отдельный проект, настроенный как dll, который зависит от моей ранее заявленной библиотеки. Я также добавил указанную библиотеку в качестве ссылки на мой проект модульного тестирования.

Мои тесты работают нормально в NUnit, контрольные точки просто не работают.

Опять же, есть ли способ заставить точки останова работать с NUnit с Native / Managed C ++?

1 Ответ

1 голос
/ 30 сентября 2011

Наиболее удобный способ сделать это - настроить пользовательскую запись инструмента, указав путь к NUnit в качестве команды. Для проекта VS2003 C # вы можете использовать $ (TargetPath) для аргументов и $ (TargetDir) для начального каталога.

В Visual Studio VS2005 это становится немного сложнее, поскольку этот выпуск изменил значение макросов 'Target', поэтому они теперь указывают на промежуточные каталоги 'obj', а не на конечный вывод в одном из каталогов 'bin'. Вот несколько альтернатив, которые работают в обеих версиях:

$ (ProjectDir) $ (ProjectFileName) , чтобы открыть проект VS, а не сборку. Если вы используете этот подход, обязательно переименуйте ваш файл конфигурации соответствующим образом и поместите его в тот же каталог, что и файл проекта VS.

$ (ProjectDir) bin / Debug / $ (TargetName) $ (TargetExt) для непосредственного запуска сборки. Обратите внимание, что для этого требуется жесткая часть пути, включая конфигурацию.

Если вы хотите отлаживать свои тесты, используйте Visual Studio Debug | Пункт меню «Процессы…» для подключения к NUnit после его запуска и установки точек останова в тестовом коде до запуска тестов.

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