VS2019调试技巧

VS在RELEASE模式下打断点调试

在 VS 的 Release 模式下打断点,需要进行一些设置才能生效。以下是详细步骤:

1. 启用调试信息:

  • 在项目属性页面中,找到 "C/C++" -> "常规",将 "调试信息格式" 设置为 "程序数据库 (/Zi)"。
  • 在 "链接器" -> "调试" 中,将 "生成调试信息" 设置为 "是 (/DEBUG)"。

2. 启用优化选项:

  • 在 "C/C++" -> "优化" 中,选择 "已禁用 (/Od)"。

3. 启用断点:

  • 在 Release 模式下运行程序,并在需要打断点的位置设置断点。
  • 在 VS 的 "调试" 菜单中,选择 "窗口" -> "断点",查看断点列表。
  • 如果断点无法生效,请检查断点是否处于活动状态,以及是否设置了正确的断点条件。

4. 使用调试器:

  • 在 Release 模式下运行程序,程序会运行到断点处停止。
  • 使用 VS 的调试器工具栏和窗口,查看变量值、调用堆栈等信息,进行调试。

注意:

  • 在 Release 模式下,程序会被优化,代码可能会被重排或删除,这可能会导致断点无法生效。
  • 启用优化选项可能会影响程序性能,因此建议在调试完成后,将优化选项恢复到默认设置。
  • 如果你的代码使用了第三方库,可能需要在第三方库的编译选项中也启用调试信息。

总结:

在 VS 的 Release 模式下打断点需要进行一些设置,包括启用调试信息、禁用优化选项、设置断点和使用调试器。通过这些设置,你就可以在 Release 模式下调试程序,找出问题所在。

窗口程序打开后台窗口

编译错误

因模板类导致的 LNK2019 错误:“ 无法解析的外部符号 ”

参考:【c++】因模板类导致的 LNK2019 错误:“ 无法解析的外部符号 ” 详解-CSDN博客

解决方案:
 

知道了错误的根源,我们就可以根治这种情况,总得来说就是模板类没有具现化,那我们就让它具现化就好了,所以总结了以下几个解决方案也得到了很好的解析:

1.在主函数包含头文件时将实现模板类的函数也包含进来。原因:一个编译单元内包含了.cpp文件以及被include 的头文件,如果将实现模板类的函数文件.cpp也包含进来,那么主函数调用就给了模板类函数一个具现化的机会。

2.将模板类的实现方法写在头文件里面。原因:同上,将实现写在头文件里面,那么主函数调用就给了模板类函数一个具现化的机会。

3.在实现模板类的文件中调用一下模板类。原因:调用一下让模板类函数得到具现化。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值