#c #visual-studio-2010 #instrumentation
#c #visual-studio-2010 #инструментарий
Вопрос:
Я в растерянности. Наши модульные тесты инструментируются VSInstr, а затем профилируются PerfMon (покрытие кода). У нас есть обширный список исключений, которые мы используем:
/EXCLUDE:"boost::*"
/EXCLUDE:"ATL::*"
/EXCLUDE:"UnitTestNamespace::*"
/EXCLUDE:"cppunit::*"
…и т.д…
Когда выполняются наши модульные тесты, файл покрытия кода предоставляет нам список всего нашего кода, плюс все пространства имен и классы, которые были исключены. VSInstr не сгенерировал ошибок. Мы компилируем наши модульные тесты с флагом компоновщика /PROFILE.
Кто-нибудь сталкивался с этой проблемой раньше?
РЕДАКТИРОВАТЬ: я попытался исключить только ATL :: , но он все еще включал его. Итак, моя теория о том, что командная строка была слишком длинной, оказалась неверной.
Комментарии:
1. Редактор stackoverflow проанализировал астриксы. Они располагаются после оператора области видимости ::.
2. Отображается лучше, если вы форматируете его как код.
Ответ №1:
В нашем нет символов кавычек, например,
%vsinstr% <someDLL> @CPPCoverageExcludes.txt
где CPPCoverageExcludes.txt выглядит так:
/exclude:std::*
/exclude:ATL::*
...
/exclude:_com_error::*
/exclude:_com_issue_error::*
/exclude:_com_issue_errorex::*
/exclude:_com_raise_error::*