C++项目的代码映射

如果要为C++项目创建更完整的映射,请在这些项目上设置浏览信息编译器选项(/FR)。 否则,将显示一条消息并提示你设置此选项。 如果选择 “确定”,则仅设置当前地图的选项。 可以选择隐藏所有后续地图的消息。

打开包含 Visual C++ 项目的解决方案时,可能需要一些时间来更新 IntelliSense 数据库。 在此期间,在 IntelliSense 数据库完成更新之前,可能无法为标头文件(.h#include)文件创建代码映射。 可以在 Visual Studio 状态栏中监视更新进度。

  • 若要查看解决方案中所有源文件和头文件之间的依赖关系,请选择“ 体系结构>生成包含文件”图形

    本机代码的依赖项关系图

  • 若要查看当前打开的文件与相关源文件和头文件之间的依赖关系,请打开源文件或头文件。 在文件内的任意位置打开文件快捷菜单。 选择生成包含文件的图

    .h 文件的一级依赖项关系图

对 C 和 C++ 代码的代码映射进行故障排除

C 和 C++ 代码不支持这些项:

  • 基类型不会显示在包含父类层次结构的映射上。

  • 大多数 “显示 ”菜单项不适用于 C 和C++代码。

为 C 和 C++ 代码创建代码映射时,可能会出现这些问题:

问题 可能的原因 解决方案
代码映射无法生成。 解决方案中未成功生成任何项目。 修复所发生的构建错误,然后重新生成地图。
尝试从 “体系结构 ”菜单生成代码映射时,Visual Studio 变得无响应。 程序数据库 (.pdb) 文件可能已损坏。

.pdb 文件存储调试信息,例如类型、方法和源文件信息。
重新生成解决方案,然后重试。
IntelliSense 浏览数据库的某些设置处于禁用状态。 Visual Studio 选项 对话框中可能会禁用某些 IntelliSense 设置。 打开设置以启用它们。

请参阅 选项、文本编辑器、C/C++、高级
消息 “未知方法 ”出现在方法节点上。

出现此问题的原因是无法解析方法的名称。
二进制文件可能没有基本重定位表。 在链接器中打开 /FIXED:NO 选项。
可能无法生成程序数据库 (.pdb) 文件。

.pdb 文件存储调试信息,例如类型、方法和源文件信息。
在链接器中打开 /DEBUG 选项。
无法在预期位置打开或查找 .pdb 文件。 请确保 .pdb 文件存在于预期位置。
已从 .pdb 文件剥离调试信息。 如果在链接器中使用了 /PDBSTRIPPED 选项,请包含完整的 .pdb 文件。
调用者不是函数,而是二进制文件中的一个 thunk 或数据节中的一个指针。 当调用方是 thunk 时,请尝试使用 _declspec(dllimport) 来避免 thunk。