使用 C++/CLI 程序集进行 Ncover
有谁知道如何使用 NCover 覆盖 C++/CLI 类?
NCover 仅在找到匹配的 .pdb 文件时才测量程序集的覆盖率。
但是,我的 C++/CLI 项目不输出 .pdb 文件。
如果我转到“Visual Studio -> 配置属性 -> C/C++ -> 输出文件 -> 程序数据库文件名”并将其设置为“MyDll.pdb”,它实际上会输出一个名为“MyDLL.idb”的文件“!?
Does anybody know how to do coverage of an C++/CLI class using NCover?
NCover only measures coverage of an assembly if it finds a matching .pdb file.
However, my C++/CLI project does not output a .pdb file.
If I go to "Visual Studio -> Configuration Properties -> C/C++ -> Output Files -> Program Database File Name" and set it to "MyDll.pdb" it actually outputs a file called "MyDLL.idb"!?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
是的,令人困惑的设置。它实际上是一个链接器设置:链接器、调试、生成程序数据库文件。如果您考虑一下,这是有道理的,只有在链接之后,所有目标文件才会组合在一起,并且可以创建调试信息。
不知道为什么您必须跳过这个环节,调试配置中的默认设置可确保创建 .pdb 文件。我想对于 NCover 来说应该足够好了。
Yeah, confuzzling setting. It is actually a linker setting: Linker, Debugging, Generate Program Database File. Make sense if you think about it, only after linking are all object files combined and can debug info be created.
Not sure why you'd have to jump through this hoop, the default settings in the Debug configuration ensure that a .pdb file is created. Ought to be good enough for NCover, I'd imagine.
您正在编译发布版本还是调试版本?正如 Hans 提到的,调试的默认设置将生成 NCover 可以使用的 .pdb。
Are you compiling a Release build, or Debug build? As Hans mentioned, the default settings for Debug will generate a .pdb that NCover can use.