Qt工程与vs的dll联合调试

14 篇文章 2 订阅

Qt工程与vs的dll联合调试

一、前言

由于工程需要,本人用vs2013做了sdk,提供给Qt工程师调用,由于未曾有过qt的开发经验,过程遇到了很多问题,如c++的std::string不能跨环境的进程调用,dll中new出来的内存,在vs的工程正常 ,在Qt工程却总为不可访问的地址,一大堆问题,迫于无奈唯有自己用dll联调Qt程序。
具体遇到的问题,可以参考:https://blog.csdn.net/LittleLittleFish_xyg/article/details/83896675

二、调试步骤

1、新建vs的dll工程
创建dll的方法请参考:
https://blog.csdn.net/LittleLittleFish_xyg/article/details/83030430

可以看一下,qt是能正常运行dll的
在这里插入图片描述
2、新建Qt工程,配置dll。确保能正常调用dll,否则后续步骤无效
不懂配置的请参考:
https://blog.csdn.net/LittleLittleFish_xyg/article/details/83896107
在这里插入图片描述
3、vs工程联调Qt工程(可能有人疑惑,为何不是Qt调用dll的联调,是因为代码跟踪到dll,需要源码)
a、第一步先将qt工程的debug目录下所有文件,以及所需要的qt的dll拷贝到dll工程中的dll生成目录中,保证qt工程能跑
在这里插入图片描述
b、在Qt工程先做一下手脚,做个休眠,因为后面步骤需要手速,太慢,则程序已经跑完了。本人使用了20s时间。然后执行a步骤
在这里插入图片描述
c、双击运行qt工程,让他跑起来
在这里插入图片描述
d、在dll源码中,添加断点
在这里插入图片描述
e、快速点击“调试”—“附加到进程”,找到刚才的qt工程,确定
在这里插入图片描述
在这里插入图片描述
f、即可进入断点调试代码
在这里插入图片描述

三、学习心得

调试过程比较复杂,实际开发过程中遇到,接触新的知识,也是长知识了,调试时注意手速,休眠十秒,总是找不到qt工程,就销毁了,我也是尝试了很多次才演示成功,建议把时间调整长一点。

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值