Visual Studio 2017编译选项Debug的用法

目录

 

概要

具体选项

注意事项

在Visual Studio中设置/DEBUG链接选项

以编程方式设置/DEBUG链接选项

相关内容

原文链接


概要

/DEBUG选项为可执行文件创建调试信息。链接器将调试信息放入程序数据库(PDB)文件中。它在程序的后续构建期间更新PDB。

用于调试而生产的可执行文件(.exe文件或DLL)包含相应PDB文件的名称和路径。在调试程序时,调试器将读取嵌入的名称并使用PDB文件。链接器使用程序的基本名称和扩展名.pdb命名程序数据库,并将其创建路径嵌入其中。要覆盖此默认值,请设置/PDB并指定其他文件名。

具体选项

/DEBUG:FASTLINK 选项在Visual Studio 2017和更高版本中可用。该选项将专用符号信息留在用于生成可执行文件的各个编译产品中。它会生成一个有限的PDB,该PDB可以索引用于构建可执行文件的目标文件和库中的调试信息,而不是进行完整复制。此选项的链接速度是完整PDB生成速度的两倍至四倍,当在本地调试并提供可用的构建产品时,建议使用此选项。当所需的生成产品不可用时(例如,将可执行文件部署在另一台计算机上时),该有限的PDB不能用于调试。在开发人员命令提示符下,您可以使用mspdbcmf.exe工具从此有限的PDB生成完整的PDB。在Visual Studio中,使用“项目”或“生成”菜单项来生成完整的PDB文件,以为项目或解决方案创建完整的PDB。

/DEBUG:FULL 选项将所有私有符号信息从单个编译产品(目标文件和库)移到单个PDB中。这可能是链接中最耗时的部分。但是,当没有其他构建产品可用时(例如,部署可执行文件时),可以使用完整的PDB调试可执行文件。

/DEBUG:NONE 选项不生成PDB文件。

注意事项

如果不带其他选项指定/DEBUG,则对于命令行和Makefile构建,Visual Studio IDE中的发行版本以及Visual Studio 2015及更早版本中的调试和发行版本,链接器默认为/ DEBUG:FULL。从Visual Studio 2017开始,当您指定调试构建的/DEBUG选项时,IDE中的构建系统默认为/ DEBUG:FASTLINK。其他默认值未更改,以保持向后兼容性。

编译器的C7兼容(/Z7)选项使编译器将调试信息保留在.obj文件中。您还可以使用“程序数据库(/Zi)”编译器选项将调试信息存储在.obj文件的PDB中。链接器首先在.obj文件中编写的绝对路径中查找对象的PDB,然后在包含.obj文件的目录中查找该对象的PDB。您不能为链接器指定对象的PDB文件名或位置。

当指定/DEBUG时,暗含/INCREMENTAL。

/DEBUG将/OPT选项的默认值从REF更改为NOREF,从ICF更改为NOICF,因此,如果要使用原始默认值,则必须显式指定/OPT:REF或/OPT:ICF。

无法创建包含调试信息的.exe或.dll。调试信息总是放在.obj或.pdb文件中。

在Visual Studio中设置/DEBUG链接选项

  1. 打开项目的“属性页”对话框。有关详细信息,请参见Set C++ compiler and build properties in Visual Studio
  2. 单击“链接器”。
  3. 单击“调试”属性页。
  4. 修改“生成调试信息”属性以启用PDB生成。默认情况下,这会在Visual Studio 2017和更高版本中启用/DEBUG:FASTLINK。
  5. 修改“生成完整程序数据库文件”属性,以启用/DEBUG:FULL为每个增量构建的完整PDB生成。

以编程方式设置/DEBUG链接选项

请参阅GenerateDebugInformation

相关内容

MSVC链接器参考
MSVC链接器选项

原文链接

https://docs.microsoft.com/en-us/cpp/build/reference/debug-generate-debug-info?view=msvc-150

<think>好的,用户想了解Visual Studio 2017的使用方法。我需要先回想一下VS2017的主要功能和界面布局。首先,应该从安装开始讲起,因为正确的安装是使用的基础。安装时要注意选择合适的工作负载,比如C++开发或者.NET开发,这会影响后续的功能可用性。 接下来,用户可能需要知道如何创建新项目。不同类型的项目对应不同的模板,比如控制台应用、Windows窗体应用等。需要详细说明每个步骤,包括选择模板、命名项目和解决方案的位置。 然后,介绍界面布局,比如解决方案资源管理器、代码编辑器、输出窗口等的位置和功能。这部分对于新手来说很重要,因为他们可能对IDE的各种面板感到困惑。 代码编辑的基本操作也是必须的,比如如何编写代码、智能提示、自动补全功能。调试功能同样关键,包括设置断点、逐行执行、查看变量值等。需要分步骤说明,确保用户能够跟随操作。 还需要提到生成和运行项目的过程,可能遇到的常见错误及解决方法,比如编译错误或运行时异常。此外,扩展和插件的安装方法也是一个有用的点,用户可能需要根据需求扩展VS的功能。 考虑到用户可能使用中文,要确保术语准确且易于理解。比如“解决方案资源管理器”、“调试器”等术语的正确翻译。同时,检查是否有遗漏的重要功能,比如版本控制集成、NuGet包管理等,这些也是日常开发中常用的功能。 最后,要提醒用户注意VS2017的系统要求和兼容性问题,确保他们的操作系统支持。可能还需要提到更新和维护,保持VS的稳定性和安全性。 总结下来,结构应该是安装、创建项目、界面介绍、代码编辑、调试、生成运行、扩展功能、常见问题。每个部分简明扼要,步骤清晰,用例子辅助说明,比如创建控制台应用的具体步骤。避免使用过于专业的术语,保持口语化,但又要准确。确保回答符合用户的需求,尤其是刚接触VS2017的新手,帮助他们快速上手。</think>以下为Visual Studio 2017的使用方法分步说明: 一、安装配置 1. 访问官网下载安装程序 2. 选择工作负载(根据开发需求勾选): - .NET桌面开发 - C++桌面开发 - ASP.NET和Web开发 - 通用Windows平台开发 3. 建议勾选"代码工具"中的Git支持 二、创建第一个项目 1. 启动后选择【文件】→【新建】→【项目】 2. 选择模板(示例): - C# → 控制台应用(.NET Framework) - Visual C++ → Windows控制台应用程序 3. 设置项目名称和存储路径 4. 解决方案资源管理器中将显示项目结构 三、主要界面功能区 1. 顶部菜单栏:文件/编辑/视图/调试等 2. 工具栏:生成/启动调试/解决方案配置 3. 核心面板: - 解决方案资源管理器(项目文件管理) - 代码编辑器(带智能提示功能) - 错误列表(编译错误提示) - 输出窗口(生成/调试信息) 四、代码编辑功能 1. 智能感知(IntelliSense): - 输入时自动提示成员变量/方法 - 按`Ctrl+J`手动触发 2. 代码格式化: - `Ctrl+K, Ctrl+D`自动对齐代码 3. 代码片段: - 输入`ctor`自动生成构造函数 - 输入`for`自动生成循环结构 五、调试程序(以C#为例) 1. 设置断点:单击代码行左侧灰色区域 2. 启动调试: - 按`F5`开始调试 - `F10`逐过程 - `F11`逐语句 3. 查看变量: - 自动显示局部变量窗口 - 悬停光标查看当前值 六、生成与部署 1. 生成解决方案:`Ctrl+Shift+B` 2. 生成模式切换: - Debug(调试用,含调试符号) - Release(发布用,代码优化) 3. 发布项目: - 右键项目选择"发布" - 支持发布到文件夹/Azure/容器等 七、扩展功能 1. 通过【工具】→【扩展和更新】安装插件 2. 推荐扩展: - ReSharper(代码优化) - Visual Assist(C++增强) - GitHub扩展 八、常见问题处理 1. 项目无法生成: - 检查错误列表中的具体错误 - 确认.NET Framework版本匹配 2. 调试时提示"找不到文件": - 清理解决方案后重新生成 - 检查输出路径权限设置 建议新手从控制台项目开始练习,逐步熟悉调试流程和项目管理。通过【视图】菜单可自定义界面布局,按`Ctrl+Alt+S`可快速打开设置界面进行个性化配置。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值