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)(这一点也有待商榷,并不一定需要设置成Mixed);

4)将重新编译好的C++ lib和pdb文件复制到C# debug文件夹下,注意32位和64位文件夹是分开的;在64位下调试,自己却复制到32位下,是怎么也调试不了的。

  • 4
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值