c# 调试 c++ dll 的步骤

http://fpcfjf.blog.163.com/blog/static/5546979320134922938373/

调试下断点看内存中的数据是最好的方法,可是地球人都知道,C#是在托管平台上的,而C++DLL是在非托管平台上的。内存的格式啥的都是不一样的,那怎么办呢?微软早就想到了。方法如下:

第一步:在C#的解决方案上右键“属性”---“调试”---勾选“启用非托管代码调试”。

第二步:同样的在“调试”选项下---“启动选项”---“工作目录”,然后点击下图中的箭头指向的按钮,在弹出的对话框中,指定C++DLL的生成目录(即xx.lib xx.dll所在的路径)

第三步:启动C#的EXE,下断点调试即可。

 

http://www.cnblogs.com/lidabo/archive/2012/06/05/2536743.html

 

调试方法:【dll工程和调用dll的exe工程在同一个解决方案中】
dll工程,属性-配置属性-调试-把 命令 为 调用该dll的exe工程的bin\Debug\*.exe
dll工程,属性-配置属性-调试-把 调试器类型 设置为 仅限本机
dll工程,属性-配置属性-常规-把输出目录设置为 调用该dll的exe工程的bin\Debug目录下
在dll工程中打好断点,然后重新生成dll工程,为了输出dll到设置的目录下
然后
exe工程,属性-调试-启用非托管代码调试
exe工程,设置为启动项目
好了
运行,OK
上面的步骤是参考了网上很多资料总结出来的,可能有的设置没有用,不过反正全部设置OK了之后是肯定行的

posted @   ccqin  阅读(390)  评论(0编辑  收藏  举报
编辑推荐:
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
阅读排行:
· 10年+ .NET Coder 心语 ── 封装的思维:从隐藏、稳定开始理解其本质意义
· 地球OL攻略 —— 某应届生求职总结
· 提示词工程——AI应用必不可少的技术
· Open-Sora 2.0 重磅开源!
· 周边上新:园子的第一款马克杯温暖上架
点击右上角即可分享
微信分享提示