用代码映射直观地了解、导航和调试代码
可以映射代码中的关系与最终的 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 开始调试。
在绘制线条并选择 取消我的最后一个笔画时,则不会执行任何操作,直到可以在下一行。
因此在开始调查通过搜索 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之间的链接。
备注
当更新映射时,可能会看到添加用于的代码索引创建的消息您的映射更新。这意味着有人更改了代码,使您的映射不匹配当前代码。这将从更新映射不停止,但是,您可能必须重新映射创确认其与代码。
现在您执行与您的调查。 通过映射代码成功找到并解决问题。 还可以帮助您在代码周围导航,确保的映射所博学和步骤显示用于解决该问题。