调试准备:Visual C++ 项目类型
本节描述如何调试用 Visual C++ 项目模板创建的基本项目类型。
注意,那些将 DLL 作为其输出创建的项目类型由于其共同的特性已被分组到调试 DLL 项目。
主题内容
建议的属性设置
Win32 项目
调试 C 或 C++ Win32 应用程序
手动设置调试配置
Windows 窗体应用程序 (.NET)
建议的属性设置
应以相同的方式设置所有非托管调试方案的某些属性。 以下各表显示了建议的属性设置。 未在此处列出的设置可能有各种不同的非托管项目类型。 有关详细信息,请参阅 C++ 调试配置的项目设置。
配置属性 | C/C++ | 优化节点
属性名 |
设置 |
---|---|
优化 |
设置为“禁用(/0d)”。优化代码更难调试,因为生成的指令与源代码并不直接对应。 如果发现程序具有只出现在优化代码中的 bug,则可以打开此设置,但应记住“反汇编”窗口中显示的代码是从可能与在源窗口中见到的内容不匹配的优化源生成的。 其他功能(如单步执行)可能不会像预期的那样执行。 |
配置属性 | 链接器 | 调试节点
属性名 |
设置 |
---|---|
生成调试信息 |
应始终将此选项设置为“是(/DEBUG)”以创建调试所需的调试符号和文件。 在应用程序进入成品阶段时,可以将其设置为关闭。 |
Win32 项目
Win32 应用程序是用 C 或 C++ 编写的传统 Windows 程序。 在 Visual Studio 中调试此类应用程序非常简单。
Win32 应用程序包括 MFC 应用程序和 ATL 项目。 Win32 应用程序使用 Windows API,也可使用 MFC 或 ATL,但不使用公共语言运行时 (CLR)。 但是,它们可以调用使用 CLR 的托管代码。
下面的过程解释如何在 Visual Studio 中调试 Win32 项目。 调试 Win32 应用程序的另一种方法是在 Visual Studio 之外启动并附加到该应用程序。 有关详细信息,请参阅使用 Visual Studio 调试器附加到运行的进程。
调试 C 或 C++ Win32 应用程序
在 Visual Studio 中打开项目。
在**“调试”菜单上选择“启动”**。
使用调试器指南中讨论的技术进行调试。
手动设置调试配置
在**“视图”菜单上,单击“属性页”**。
如果**“配置属性”**节点尚未打开,则单击以打开该节点
选择**“常规”,并将“输出”行的值设置为“调试”**。
打开**“C/C++”节点,然后选择“常规”**。
在**“调试”行指定要由编译器生成的调试信息的类型。 可以选择的值包括“程序数据库(/Zi)”或“用于‘编辑并继续’的程序数据库(/ZI)”**。
选择**“优化”,然后在“优化”行的下拉列表中选择“禁用(/0d)”**。
优化代码更难调试,因为生成的指令与源代码并不直接对应。 如果发现程序具有只出现在优化代码中的 bug,则可以打开此设置,但应记住“反汇编”窗口中显示的代码是从可能与在源窗口中见到的内容不匹配的优化源生成的。 有些功能(如单步执行)显示的断点和执行点有可能不正确。
打开**“链接器”节点,然后选择“调试”。 在第一个“常规”行的下拉列表中,选择“是(/DEBUG)”**。 调试期间应始终这样设置。
有关更多信息,请参见C++ 调试配置的项目设置。
Windows 窗体应用程序 (.NET)
**“Windows 窗体应用程序(.NET)”**模板将创建 Visual C++ Windows 窗体应用程序。 有关详细信息,请参阅如何:创建新的 Windows 窗体应用程序项目。
在 Visual Studio 中调试此类应用程序类似于在托管的 Windows 窗体应用程序中进行调试。
用项目模板创建 Windows 窗体项目时,Visual Studio 将自动为调试和发布配置创建所需的设置。 如有必要,可在**“<项目名称> 属性页”**对话框中更改这些设置。 有关更多信息,请参见调试和发布配置。
有关详细信息,请参阅 C++ 调试配置的项目设置。
调试 Windows 窗体应用程序的另一种方法是从 Visual Studio 外部启动应用程序并附加到它上面。 有关更多信息,请参见附加到正在运行的程序或多个程序。