如何:生成带有选定模块的调试信息的 MFC 应用程序

更新:2007 年 11 月

本主题适用于:

版本

Visual Basic

C#

C++

Web Developer

速成版

主题不适用 主题不适用

仅限本机

主题不适用

标准版

主题不适用 主题不适用

仅限本机

主题不适用

专业团队版

主题不适用 主题不适用

仅限本机

主题不适用

表格图例:

主题适用

适用

主题不适用

不适用

主题适用,但命令默认情况下隐藏

默认情况下隐藏的一条或多条命令。

说明:

显示的对话框和菜单命令可能会与“帮助”中的描述不同,具体取决于您的当前设置或版本。若要更改设置,请在“工具”菜单上选择“导入和导出设置”。有关更多信息,请参见 Visual Studio 设置

生成带有 MFC 调试库的选定模块以后,您便可以在这些模块中使用单步执行和其他调试功能。该过程同时利用 Visual C++ 生成文件的“Debug”模式和“Release”模式,从而使得有必要进行下面所描述的更改(也使得在需要完全发布版本时必须进行“全部重新生成”)。

生成带有选定模块的调试信息的 MFC 应用程序

  1. 在“解决方案资源管理器”中选择项目。

  2. 从“视图”菜单中选定“属性页”。

  3. 首先,将创建一个新的项目配置。

    1. 在“<项目> 属性页”对话框中单击“配置管理器”按钮。

    2. “配置管理器”对话框中,在网格中定位您的项目。在“配置”列中选定“<新建...>”。

    3. “新建项目配置”对话框中的“项目配置名”框中键入新配置的名称,如“Partial Debug”(部分调试)。

    4. 在“从此处复制设置”列表中,选择“Release”。

    5. 单击“确定”以关闭“新建项目配置”对话框。

    6. 关闭“配置管理器”对话框。

  4. 现在,将为整个项目设置选项。

    1. 在“属性页”对话框中的“配置属性”文件夹下选定“常规”类别。

    2. 在项目设置网格中展开“项目默认值”(如有必要)。

    3. 在“项目默认值”下找到“MFC 的使用”。当前设置将显示在网格的右列中。单击当前设置并将它更改为“在静态库中使用 MFC”。

    4. 在“属性页”对话框的左窗格中,打开“C/C++”文件夹并选定“预处理器”。在“属性”网格中找到“预处理器定义”,并用“_DEBUG”替换“NDEBUG”。

    5. 在“属性页”对话框的左窗格中,打开“链接器”文件夹并选定“输入”类别。在“属性”网格中找到“附加依赖项”。在“附加依赖项”设置中,键入“NAFXCWD.LIB”和“LIBCMT”。

    6. 单击“确定”以保存新的生成选项并关闭“属性页”对话框。

  5. 从“生成”菜单中选定“重新生成”。这将从模块中移除所有调试信息,但不影响 MFC 库。

  6. 现在必须将调试信息添加回应用程序中的选定模块。请记住,只能在已用调试信息编译了的模块中设置断点和执行其他调试器函数。对于要包括调试信息的每个项目文件,执行以下步骤:

    1. 在“解决方案资源管理器”中,打开位于您的项目下的“源文件”文件夹。

    2. 选择要为其设置调试信息的文件。

    3. 从“视图”菜单中选定“属性页”。

    4. 在“属性页”对话框中的“配置设置”文件夹下,打开“C/C++”文件夹,然后选定“常规”类别。

    5. 在“属性”网格中找到“调试信息格式”

    6. 单击“调试信息格式”设置并为调试信息选择所需选项(通常为“/ZI”)。

    7. 如果要使用应用程序向导生成的应用程序或具有预编译头,则在编译其他模块以前必须关闭预编译头或重新编译预编译头。否则,将收到警告 C4650 和错误信息 C2855。通过更改“<项目> 属性”对话框中的“创建/使用预编译头”设置,可关闭预编译头(该设置位于“配置属性”文件夹下的“C/C++”子文件夹中的“预编译头”类别中)。

  7. 从“生成”菜单中选定“生成”以重新生成已过期的项目文件。

作为本主题中所描述技术的替换技术,可以使用外部生成文件为每个文件定义单个选项。在这种情况下,若要链接 MFC 调试库,必须为每个模块都定义 _DEBUG 标志。如果想使用 MFC 发布库,必须定义了 NDEBUG。有关编写外部生成文件的更多信息,请参见 NMAKE 参考

请参见

任务

如何:减小 MFC 调试版本的大小

其他资源

MFC 调试技术