【发布时间】:2016-07-14 04:04:23
【问题描述】:
我有一个表格
我在类级别声明了变量“a”。
public partial class Form1 : Form
{
int a;
public Form1()
{
InitializeComponent();
}
..........
}
我有按钮点击事件,一个按钮增加'a',另一个减少'a'
我想在监视窗口中查看“a”,理想情况下,一旦加载表单,这应该是可能的,因为程序不仅会在那里终止,但无论如何,我似乎必须在某处按顺序放置断点要查看“a”,所以我在表单加载处放置一个断点并点击“播放”并查看“a”。
我单击“继续”,并且希望在单击按钮时查看“a”的值。
但它似乎只在断点上执行。一旦我点击一个按钮,除非我添加断点,否则它不会显示值。
我真的不想为了查看程序中任何位置的变量值而设置断点。而且,当我真正尝试导航 GUI 并在这样做时查看变量的值时,我也不想跳入我的代码。
目前看来,我能做的最好的事情是在第一个表单加载的大括号和可能影响值的相关事件的结束大括号处放置断点。但似乎没有必要这样做,如果试图在 gui 周围单击,让它继续跳入代码,这会有点分心。在更复杂的 GUI 中,我可能想单击一下以查看是否可以创建与变量相关的不一致状态,每次单击时都像这样暂停似乎是不必要的,而且会稍微分散注意力。
我想在整个程序中监控变量,而不仅仅是在特定点。如果没有这样做的选项,或者可能有但我看不到,我会感到有点惊讶。
【问题讨论】:
-
除了手动调用
System.Diagnostics.Debug.WriteLine,我什么都不知道。 -
不清楚你在问什么。设计的调试器监视窗口仅在进程暂停时显示数据。其他人建议您可以将值写入调试输出。但这真的是你想要的吗?在我看来,如果您希望能够与程序交互并不断监控变量值,您应该将其构建到您的程序中;要么在某处的主窗口中显示值,要么创建一个单独的“调试控制台”窗口,您的程序本身将在其中显示值。无论哪种方式,您都可以将这些功能设为可选和/或仅在调试版本中。
-
@PeterDuniho 有我自己的程序显示它看起来有点像文本框的消息框,或者稍微提升一点。还有一个按钮,用于将值放入文本框中或显示值。我认为 Visual Studio 可能更高级一些,并且在其调试工具中具有这种功能,监视窗口几乎在那里,只是不完全。在列表的情况下,监视窗口显示得非常好,只是在任何地方都没有。我需要相当多的控件来轻松调试显示第一个计数和任何元素。
-
Visual Studio 的调试器怎么不“有点像消息框”?这是一个显示价值的单独窗口。无论如何,就像我说的:在调试器中,您只能在程序暂停时查看值,这是设计使然。以任何其他方式做这件事是不切实际的。程序中的仅调试功能是一种常见且被广泛接受的方式来执行您要求执行的操作。
-
@PeterDuniho 你如何在只出现在程序调试版本中的表单上制作文本框?
标签: c# winforms visual-studio debugging