vs调试动态库的方法(图解)

首先 ,dll 是以MFC的方式生成的,并且为了在调试dll时方便,我把dll和测试程序(一个控制台类型,一个MFC类型)都建在了一个工程下,这样可以在修改dll时通过下面的步骤设置生成dll的输出目录(比较方便)。

下面是我的dll工程的输出目录的配置,你可以输出dll到你的测试程序目录下





使用dll的方法有两种,可以动态链接,这里使用的是静态链接 。

静态链接时我们的测试程序的可执行文件和dll文件还有.lib文件都要在一起,前面的设置dll文件已经指定好了,下面就是.lib文件,所以这里进行一下设置,来满足这个要求。

(这里还是设置的dll的文件配置如下):



在生成动态库时要注意有几个问题(我遇到的。。)

如调用约定的问题,如果你的测试程序和动态库的调用约定不一致,可能导致调用时的未定义引用的错误。所以这里可以进行设置:



如果还有什么问题的话,你可以设置一下调试类型。

如果是托管代码调用你的DLL,比如一个C#应用程序调用DLL,那么你就选Managed Only,如果是一个本地代码掉用你的DLL,比如C++应用程序,那么就选Native Only。Mixed包含了这两类,如下:



然后就是你的测试程序的测试了,调试前先添加一下依赖项。如下(注意下面都是测试程序的设置):




然后你最好注意一下你的测试程序的生成的可执行文件的目录,因为dll .lib exe在放在一起。



最后在你的测试程序代码里添加库预处理指令,还有一点非常重要就是你的dll的头文件一定要添加到的测试程序中。



最后在同一个项目下的你的dll的源码里打上断点,你的测试程序执行起来,就可以进入你的dll源码了(我的MFC程序和控制台测试程序都可以顺利进入断点)。


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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值