如何在C#中调试C++写的DLL代码
发布网友
发布时间:2023-07-28 15:38
我来回答
共1个回答
热心网友
时间:2024-12-11 22:41
目前做的项目用到了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模式下才能成功。