2010-10-22 3 views
0

Кто-нибудь знает, как сделать покрытие класса C++/CLI, используя NCover?NCover с сборкой C++/CLI

NCover только измеряет охват сборки, если находит соответствующий файл .pdb.

Однако мой проект C++/CLI не выводит .pdb-файл.

Если я перехожу к «Visual Studio -> Свойствам конфигурации -> C/C++ -> Файлы вывода -> Имя файла базы данных программы» и установите его в «MyDll.pdb», на самом деле он выдает файл под названием «MyDLL.idb» «!?

+0

Файлы PDB содержат сопоставления строк от # до ИЛ - я всегда их создаю, и я никогда не знал, что они оказывают заметное влияние на запуск кода (до тех пор, пока не начнутся исключения, а затем они будут использованы для получения полных следов стека) –

ответ

2

Да, путаница. На самом деле это компоновщик: Linker, Debugging, Generate Program Database File. Имеют смысл, если вы думаете об этом, только после того, как связывание объединяет все объектные файлы и может отлаживать информацию.

Не знаете, зачем вам нужно перепрыгивать через этот обруч, настройки по умолчанию в конфигурации Debug гарантируют, что будет создан файл .pdb. Полагаю, это должно быть достаточно хорошо для NCover.

+0

Thank вам это помогло. Мне пришлось включить отладочную информацию в C++ и в настройках компоновщика. Затем был создан файл pdb-файла, и сообщение NCover сообщило об этом правильно. – Stiefel

1

Вы компилируете сборку выпуска или сборку отладки? Как отметил Ханс, настройки по умолчанию для Debug будут генерировать .pdb, который может использовать NCover.

+0

Правильно, в этом была проблема. Мы не делаем отладочную сборку, так как ее алгоритм с длительным ходом, который берет навсегда в режиме отладки. – Stiefel

Смежные вопросы