使用NUnit调试vs2010中的本机/托管c++
Debugging native/managed C++ in VS 2010 with NUnit
是否有一种方法可以设置断点,并使用NUnit与本地c++和托管c++的混合项目逐步通过它们?
我将SUT(软件在测)配置为静态库(本机c++)我将我的单元测试套件作为一个单独的项目配置为依赖于我先前声明的库的dll。我还添加了上述库作为我的单元测试项目的参考。
我的测试在NUnit中运行得很好,只是断点不起作用。
再次,是否有一种方法可以让断点与NUnit一起使用本机/托管c++ ?
最方便的方法是设置一个自定义工具条目,指定NUnit的路径作为命令。对于VS2003 c#项目,可以使用$(TargetPath)作为参数,$(TargetDir)作为初始目录。
在Visual Studio VS2005中,这变得有点困难,因为那个版本改变了'Target'宏的含义,所以它们现在指向中间'obj'目录,而不是'bin'目录中的最终输出。以下是在两个版本中都可以使用的一些替代方法:
$(ProjectDir)$(ProjectFileName)打开VS项目而不是程序集。如果你使用这种方法,一定要相应地重命名你的配置文件,并把它放在与VS项目文件相同的目录下。
$(ProjectDir)bin/Debug/$(TargetName)$(TargetExt)直接运行程序集。注意,这需要硬编码路径的一部分,包括配置。
如果您想调试测试,请在启动NUnit后使用Visual Studio debug | Processes…菜单项附加到它,并在运行测试之前根据需要在测试代码中设置断点。
相关文章:
- 如何在C++非托管/本机 DLL 中从注册免费 COM C# 托管 DLL 创建 COM 对象
- C++/CLI 混合托管/本机 DLL 不起作用
- 从本机代码返回到托管代码会损坏返回的对象
- Unity 如何使用本机 dll 或转换为托管
- 将本机非托管的C DLL加载到托管的C#应用中,导致DLL输出垃圾
- AccessViolationException从托管C (ASP.NET的包装器)调用本机C 代码
- 本机到托管边界上的跨上下文异常
- 将字符串数组从托管代码编组到本机代码
- 编译为托管的C++代码.NET(C++/CLI),否则作为本机C++
- 当未导出成员函数时,从C#调用C++本机/非托管成员函数
- 如何将我在VC++9中开发的带有CLR支持静态库的C++/CLI(托管)链接到我在VC++6.0中的本机代码(应用程序)
- 在Visual Studio 2015中调试本机应用程序加载的托管DLL
- 将BSTR从本机c++传递到托管c#dll时出现问题
- C# P/调用:本机输出参数值不会到达托管代码
- 将托管 dll 注入本机进程
- 从托管代码调用本机函数
- 为什么我想使用托管(C#和.NET)或本机代码进行Windows API开发
- Visual Studio C++托管测试项目和本机单元测试项目之间的区别
- 在托管包装器中"override"本机虚拟方法的最佳方法
- 使用NUnit调试vs2010中的本机/托管c++