vs程序release和debug模式相互切换需要修改的内容

本文介绍了如何在Visual Studio中将工程从Release模式切换到Debug模式。主要内容包括修改配置属性,如更换调试器、设置包含目录、库目录、附加依赖项以及更改代码生成的运行库。这个过程对于解决程序bug和调试至关重要。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

  visual studio有两种模式,一种是release,一种是debug。release没有断点调试功能,但是运行速度快;debug有断点调试功能,可以查看各变量的值,但是运行速度慢。有时我们需要在两者之间进行切换,比如一开始为了速度快而使用了release版本,但是中途出现bug,需要用debug模式进行调试。这两种模式是可以在同一个工程里进行切换的,只是需要进行一些设置。将visual studio的release模式变成debug,需要修改的地方包括但不限于:

  1. 将调试器更换为debug
    在这里插入图片描述
  2. 打开顶部菜单栏,选择项目->属性,打开属性页,将配置改为debug:
    在这里插入图片描述
  3. 配置属性->VC++目录->包含目录下,将用到的库的头文件路径都放置进去。一般这些路径和release下是一样的,所以直接复制过来就可以了。
    在这里插入图片描述
  4. 同理,修改库目录(就在包含目录的下两个选项里),这些路径与release模式下一般也是相同的,因此直接复制过来就可以了。
    在这里插入图片描述
  5. 链接器->输入->附加依赖项里,更改输入的lib文件名,这些文件名的变化不同的库之间并不统一,有的加了_debug,比如pcl_common_debug.lib;有的在中间加-gd,比如libboost_system-vc141-mt-gd-1_64.lib;有的直接加d,比如opencv_core347d.lib。所以需要自己去不同的库下确认命名了,不过一般同一个库的命名规则还是一样的。
    在这里插入图片描述
  6. 进入项目->C/C++->代码生成页面,将运行库从多线程DLL更改为多线程调试DLL。否则会报错错误 LNK2019 无法解析的外部符号 __imp__CrtDbgReportW,该符号在函数 "void * __cdecl std::_Allocate(unsigned __int64,unsigned __int64,bool)" (?_Allocate@std@@YAPEAX_K0_N@Z) 中被引用
    在这里插入图片描述
      以上便是将release模式改为debug模式,反之亦然。
### Qt串口调试助手与虚拟COM端口设置指南 #### 了解Qt串口库 Qt提供了`QtSerialPort`模块来处理串行通信。此模块简化了应用程序通过串行接口与其他设备交互的过程[^1]。 #### 安装QtSerialPort模块 为了使用Qt串口功能,需确保项目文件(.pro)中包含了`QT += serialport`语句以加载必要的类支持函数。 #### 创建简单的串口读写程序 下面是一个基本的例子展示怎样打开一个指定名称的串口并尝试从中读取数据: ```cpp #include <QCoreApplication> #include <QtSerialPort/QSerialPortInfo> #include <QtSerialPort/QSerialPort> #include <QDebug> int main(int argc, char *argv[]) { QCoreApplication a(argc, argv); foreach (const QSerialPortInfo &info, QSerialPortInfo::availablePorts()) { qDebug() << "Name : " << info.portName(); qDebug() << "Description : " << info.description(); qDebug() << "Manufacturer:" << info.manufacturer(); } QSerialPort serial; serial.setPortName("COM3"); // 更改为实际使用的端口号 if(serial.open(QIODevice::ReadWrite)){ qDebug()<<"Opened"; serial.close(); }else{ qDebug()<<"Failed to open"; } return a.exec(); } ``` #### 设置虚拟COM端口 对于开发测试环境而言,创建一对相互连接的虚拟COM端口是非常有用的。这可以通过安装第三方工具如com0com或Virtual Serial Ports Driver(VSPD)实现。这些软件允许用户定义两个逻辑上相连但物理上独立存在的串口对,在一方发送的数据会立即出现在另一方作为接收内容。 #### 配置qmake构建系统区分Debug/Release模式下的不同链接库路径 当涉及到不同的编译配置时(比如debugrelease版),可以利用如下方式调整外部依赖项的位置: - `CONFIG(debug, debug|release): LIBS += -L../lib/debug -llibraryname` - `CONFIG(release, debug|release): LIBS += -L../lib/release -llibraryname` 这种做法有助于保持项目的整洁性可维护性,同时也方便切换不同类型的构建目标而无需手动修改源码中的任何部分。
评论 6
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

zeeq_

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值