代码之家  ›  专栏  ›  技术社区  ›  Iain Fraser

在VisualStudio中调试时,我可以使用哪些“全包”关键字,例如“this”?

  •  1
  • Iain Fraser  · 技术社区  · 16 年前

    通常,我希望能够查看应用程序的整个状态,以了解在当前范围内我可以获得哪些信息。

    我经常做的事情是打开QuickWatch并进行评估 this

    我想知道是否还有其他关键字可以用来获得类似的东西,让我可以询问应用程序状态的其他部分。比如,有没有办法看到另一个类中的值?是否存在“全球”范围?

    干杯

    伊恩

    5 回复  |  直到 16 年前
        1
  •  6
  •   Mark Seemann    16 年前

    为什么不直接使用 汽车 窗户?在任何给定的上下文中,它都能很好地选择最合适的变量值。

    当地人 窗口,它为您提供的不仅仅是在 this (它包括 ).

        2
  •  6
  •   Ian    16 年前

    我发现真正有用的是调试器属性。

    [DebuggerDisplay("X = {this.X}, Y= {this.Y},")]
    public class Point
    {
       Public Double X { get; set; }
       Public Double Y { get; set; }
    }
    

    编辑:事实上,如果您签出 System.Diagnostics 命名空间,您将发现另一系列可能有用的功能,如防止进入琐碎的方法。

        3
  •  1
  •   Henrik Gering    16 年前

    当应用程序等待断点时,可以从此窗口编写执行代码。

        4
  •  1
  •   Tom Bushell    16 年前

    我发现即时窗口也很有用(调试菜单->视窗->立即的)

    我喜欢使用“?”快捷方式打印结果,例如。

    ? 0xffff

    获取十六进制数的十进制值,或

    ? String.Format(“{0:G2}”,1.23456f)

    查看格式化的数字。

    请注意,使用此功能不需要在断点处停止。

        5
  •  1
  •   Tom Bushell    16 年前

    另一种有用的技术是使用System.Diagnostics将诊断和状态信息打印到输出窗口(调试菜单->视窗->输出)。

    这通常比打印到单独的控制台窗口更方便,

    using System.Diagnostics;
    ...
    Debug.WriteLine("This is a diagnostic message");