如果要为C++项目创建更完整的映射,请在这些项目上设置浏览信息编译器选项(/FR)。 否则,将显示一条消息并提示你设置此选项。 如果选择 “确定”,则仅设置当前地图的选项。 可以选择隐藏所有后续地图的消息。
打开包含 Visual C++ 项目的解决方案时,可能需要一些时间来更新 IntelliSense 数据库。 在此期间,在 IntelliSense 数据库完成更新之前,可能无法为标头文件(.h 或 #include)文件创建代码映射。 可以在 Visual Studio 状态栏中监视更新进度。
若要查看解决方案中所有源文件和头文件之间的依赖关系,请选择“ 体系结构>生成包含文件”图形。
若要查看当前打开的文件与相关源文件和头文件之间的依赖关系,请打开源文件或头文件。 在文件内的任意位置打开文件快捷菜单。 选择生成包含文件的图。
对 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。 |