C#调试C++ DLL代码

有些C#写的项目中会调用到C++ DLL,有时候需要调试进C++代码里去查问题,过程中经常会遇到无法命中C++代码断点的问题,在此记录一下常用的设置方式,照着设置的话基本上没什么问题:


1)确保C#和C++项目源代码在同一个解决方案里;

2)确保C#项目,属性设置->调试选项->“支持非托管代码调试”打钩( 如果是VS2015 则是“启用本机代码调试”);(如果C#先是调用了好几层C# DLL,最后一层C# DLL再去调用C++ DLL,建议所有C#都要将此选项勾上,一般情况下只要确保第一和最后一层C# DLL该选项打钩即可);

3)C++项目->属性->调试->调试类型->改成混合(Mixed);

4)将重新编译好的C++ lib和pdb文件复制到C# debug文件夹下,注意32位和64位文件夹是分开的;在64位下调试,自己却复制到32位下,搞得心态爆炸能怪谁?

猜你喜欢

转载自blog.csdn.net/sudazf/article/details/76619725