第一种:只适合在debug模式下,其没有什么设置要特别设置的:
1、在C++工程上测试C#的逻辑应用,perfect,这里需要在工程的【调试】选项里的【命令】项里添加由C#编写的UI程序路径,然后启动C++工程,其工程属性是(动态库(.dll)),然后就会弹出如下的UI界面:
接着就可以在C++工程上打断点和内存监视了,一般只有在debug模式下才可以进行监视内存调试,而在release模式下是会被优化掉的,此时需要转化为局部变量既可以监视内存。如下:
debug模式下可以监视变量内存:
(先前不知道怎么设置到release模式可以,因为后来在release模式下调试一直打不了断点,其主要在【配置属性->常规->MFC的使用修改为“在共享 DLL 中使用 MFC”】,不过这个可能会造成很多变量报错,而且测试了几个工程由的工程可以定位断点,有的一样不可以,不知道哪里还要设置)release模式下监视不了变量内存:
release模式下转换为局部变量后可以监视内存,如下:
监视效果如下:
内存监视效果很好,非常漂亮。
- 第二种:在release模式下测试没问题:
1、把工程添加到C#工程下,是为了能够跟方便打断点。只需要在解决方法右键添加现有工程即可完成添加。
2、把C#跟dll工程改为相同属性。例如Release x64.等
3、把C++的属性配置改为【动态库(.dll)】,否则无法进入dll进行调试。其中【MFC的使用】可以随意
4、如果是release模式下,把工程属性配置成可以打断点的模式,即要配置成可以生产调试信息的属性。其中调试信息是存放在.pdb属性文件里的
5、在C#工程上右键属性-》调试-》启动调试器-》打勾‘启动本机代码调试’. 切记,否则也是进不了dll进行代码调试。
6、其中生产的dll文件一定要跟4步骤生产的。pdb文件在同一个目录,否则也是进不了dll调试。其实通常情况下都是在一起的。
结束:自此完成配置,即可进release模式下dll代码调试。只要在c++工程对应位置打上断点即可,刚开始断点是会提示感叹号,表示无法定位到这里,其实当代码达到对应位置,这个点的就会作用了。
特别注意:添加到C#工程下的C++工程修改了代码后点击【生成】是无法产生dll的,要在C++自身的那个单独工程上点击【生成】才可以产生新的dll。