再次,学习者。
一般来说,我希望能够查看应用程序的整个状态,以了解我在当前范围内可以获得的信息。
我做了很多事情是打开QuickWatch并评估this
,它给了我当前班级内的所有内容。
我想知道是否有任何其他关键字我可以用来获得类似的东西,这将允许我询问应用程序状态的其他部分。比如,有没有办法看到另一个类里面的值?是否存在“全球”范围这样的事情?
希望你能提供帮助,并希望我没有太模糊,因为我还在学习在C#环境中使用的正确术语。
提前感谢您的帮助:)
干杯
伊恩
答案 0 :(得分:6)
我觉得非常有用的是调试器属性。
[DebuggerDisplay("X = {this.X}, Y= {this.Y},")]
public class Point
{
Public Double X { get; set; }
Public Double Y { get; set; }
}
当您在调试器中遇到此类时,它将显示该属性中配置的字符串,而不是显示该类的ToString()版本。对于快速分析班级及其成员非常有用。
编辑:事实上,如果你查看System.Diagnostics命名空间,你会发现另外一些功能,你可能会觉得有用,比如防止踩到琐碎的方法。
答案 1 :(得分:6)
为什么不使用 Autos 窗口?它在任何给定的上下文中选择最合适的变量值都做得非常好。
另一个有用的窗口是本地窗口,它不仅可以在this
上创建QuickWatch(错误包括this
)。
答案 2 :(得分:1)
我发现即时窗口非常有用。
当您的应用程序在断点处等待时,您可以从此窗口编写执行代码。
答案 3 :(得分:1)
我发现立即窗口也很有用。 (调试菜单 - > Windows - >立即)
我喜欢用“?”打印结果的快捷方式,例如。
? 0xFFFF的
获取十六进制数的十进制值,或
? String.Format(“{0:G2}”,1.23456f)
查看格式化数字。
使用向上和向下箭头键可以浏览您之前键入的命令,并对其进行编辑 - 对于快速试用和错误实验非常有用。
请注意,您不需要在断点处停止使用它。
答案 4 :(得分:1)
另一项有用的技术是使用System.Diagnostics将诊断和状态信息打印到“输出”窗口(“调试”菜单 - > Windows - >输出)。
这通常比打印到单独的控制台窗口更方便,
using System.Diagnostics;
...
Debug.WriteLine("This is a diagnostic message");