如何在C#中调试C++写的DLL代码

目前做的项目用到了P/Invoke,在调用C++的dll时偶尔会发生错误,怀疑是内存泄漏的问题。与其做Code Review,不如直接Debug DLL的源代码。上网搜了一下,方法基本差不多,但实际操作中还是有些东西要注意的。

1.将DLL源码工程项目加入目前用到的C#工程的解决方案中。

2.设置DLL工程的生成模式为Debug,Debug模式下会生成pdb调试文件。

3.设置C#工程的生成模式为Debug,否则无法命中DLL源码中的断点。

4.由于DLL工程是独立的,所以将DLL工程生成的dll文件以及pdb文件拷入C#工程的Debug输出目录下。

5.设置断点,开始调试。

release模式下是可以调试C#工程的,但貌似我组合两个工程的release和debug模式发现,只有两者都是debug模式下才能成功。

转载于:https://www.cnblogs.com/Alex-Zhu/archive/2011/12/08/2280355.html

你可能感兴趣的:(如何在C#中调试C++写的DLL代码)