用代码映射直观地了解、导航和调试代码

可以映射代码中的关系与最终的 Visual Studio。 当您创建编码映射时,它们在代码编辑器中旁边。 这使您可以将精力集中您的任务,因为您可以看到您的代码的地方,在工作时。

代码映射 - 代码中的映射关系

代码映射在代码中显示关系并在代码编辑器旁边。 一个绿色箭头显示代码中的光标位置。 在映射中进行批注,如文件。

代码映射在大型基本代码、不熟悉的代码或旧代码有助于避免获取丢失。 例如,那么,当您调试时,可能必须查看在许多文件和项目间的代码。 代码映射帮助您在代码周围这些部分导航和查看它们之间的关系。 您不必确保所有这些代码,日志文件或绘制其他页面关系图。 如果必须中断您的工作,代码映射帮助控制如何有关您所使用的代码的内存。

监视活动中的代码映射:与代码映射 (通道 9) 的理解的复杂代码

要求

  • Visual Studio 这些版本 2012.1 和之一:

    • 最终的 Visual Studio 2012 创建代码从代码编辑器或从解决方案资源管理器。

      备注

      在使用高质量或主要的人共享映射之前,请确保在所有映射的 project 可见,如隐藏的项目中,展开的组和跨组链接。

    • 高质量的 Visual Studio 2012 或打开代码映射的 Visual Studio 2012 专业版,使有限编辑,并定位代码。

  • 使用 Visual C# .NET 或 Visual Basic .NET 代码的解决方法

了解问题

假定正在处理的绘图程序中有 bug。 若要重现 bug,您在最终的 Visual Studio 的解决方案并按 F5 开始调试。

在绘制线条并选择 取消我的最后一个笔画时,则不会执行任何操作,直到可以在下一行。

代码映射 - 重现 Bug

因此在开始调查通过搜索 Undo 方法。 在发现 bug 时在 PaintCanvas 选件类。

代码映射 - 查找代码

启动映射代码

现在您开始映射 undo 方案及其关系。 从代码编辑器,可以添加 undo 方法以及对新代码映射的字段。 当您创建新映射时,这可能需要一段时间到索引代码。 这有助于最新操作的运行速度更快。

代码映射 - 显示方法和相关的字段

提示

显示绿添加到映射的最后一项。绿色箭头显示代码中的光标位置。在项目之间的箭头表示不同的关系。通过检查它们的工具提示来获取有关项的更多信息。映射。

代码映射 - 显示工具提示

浏览并检查从映射的代码

为每个字段看到代码定义,双击字段映射或选择字段并按 F12。 绿色箭头将在映射的项。 您在代码编辑器中光标还会自动移动。

代码映射 - 检查字段定义

代码映射 - 检查字段定义

提示

可以通过将在代码编辑器中光标还将映射的绿色箭头。

了解代码部分之间的关系

现在要了解哪些其他代码与 history 和 paintObjects 字段进行交互。 您可以添加对这些字段添加到映射的所有方法。 可以执行此操作。映射或从代码。

代码映射 - 查找所有引用

更改布局重新排列关系流并使映射更容易阅读。 可以在映射附近还移动项通过拖动这些元素。

代码映射 - 更改布局

提示

默认情况下,增量布局 打开。当添加新的项时,会将尽可能少重新排列映射。若要重新排列整个映射,在添加新项后,请关闭 增量布局

代码映射 - 更改布局

我们检查这些方法。 在映射,请双击 PaintCanvas 方法或选择此方法并按 F12。 您将了解到此方法创建 history 和 paintObjects,当空列表。

代码映射 - 检查方法定义

现在请重复相同的步骤检查 clear 方法定义。 您将了解到 clear 执行某些任务与 paintObjects 和 history。 然后调用 Repaint 方法。

代码映射 - 检查方法定义

现在请检查 addPaintObject 方法定义。 它还执行某些任务与 history 和 paintObjects。 它还调用 Repaint。

代码映射 - 检查方法定义

通过检查映射找到问题

显示修改 history 和 paintObjects 的所有方法调用 Repaint。 undo 方法未调用 Repaint,因此,即使 undo 修改同一域。 因此您认为通过调用从 undo的 Repaint 解决此问题。

代码映射 - 查找缺失的方法调用

如果没有显示的映射。此缺少调用,查找此问题,特别是的更复杂的代码可能难以。

共享发现和后续步骤

在您或其他人之前修复此 bug,可以在有关问题的映射中进行说明以及如何修复它。

代码映射 - 注释并标记项以便进行追踪

例如,使用颜色,可以将注释添加到映射和标志项目。

代码映射 - 注释并标记的项

如果已安装 Microsoft Outlook 安装,可以对映射以电子邮件的形式发送给其他。 还可以导出映射为图像或其他格式。

代码映射 - 共享、导出、发送邮件

解决该问题并显示内容。

若要修复此 bug,则添加调用 Repaint 到 undo。

代码映射 - 添加缺失的方法调用

若要确认您的解决,您重新启动调试会话并尝试重现 bug。 选中 取消我的最后一个笔画 有效,但当您应确认您进行正确的解决。

代码映射 - 确认代码修复

可以更新映射显示所做的解决方法。

代码映射 - 用缺失的方法调用更新映射

您的映射现在显示 撤消Repaint之间的链接。

代码映射 - 用方法调用更新了映射

备注

当更新映射时,可能会看到添加用于的代码索引创建的消息您的映射更新。这意味着有人更改了代码,使您的映射不匹配当前代码。这将从更新映射不停止,但是,您可能必须重新映射创确认其与代码。

现在您执行与您的调查。 通过映射代码成功找到并解决问题。 还可以帮助您在代码周围导航,确保的映射所博学和步骤显示用于解决该问题。

请参见

概念

可视化和了解代码