如何在Visual Studio中绘制变量的变化方式

时间:2011-02-07 15:46:10

标签: c# .net visual-studio ide

有谁知道在Visual Studio 2010中绘制观察变量随时间变化的方法?即如果您有以下代码

double someVariable;
for ( int i = 0; i < 20; i++)
{
    someVariable = Math.Pi() * i;
}

你在ide中看到了'someVariable',你可以逐步完成代码并观察每一步的增长情况。我希望能够遍历循环并绘制该变量所做的事情而不必手动单步执行它。我正在做大量的数学运算,有时候会观察变量如何变得非常有用和富有洞察力。

更多信息: 我有一堆略有不同的求解器,根据我正在排除故障的问题,我想观察不同的变量,看看问题出在哪里。我目前将这些变量记录到日志文件中,但它显着减慢了求解器的速度,我不得不花费大量时间来更改调试代码以追踪问题。我正在寻找一种以IDE为中心的方式。类固醇的可视化器的排序。

6 个答案:

答案 0 :(得分:7)

如何使用Tracepoints?在VS 2008中(在VS 2010中有所不同),您只需添加一个普通断点,然后右键单击它,然后选择“When Hit ...”。

在随后的对话框中,选中“打印信息”并输入类似

的内容
someVariable = {someVariable}

这只会将其值输出到IDE中的输出窗口。

截图:

tracepoint dialog

答案 1 :(得分:1)

简单方法?无。

但你可以自己编码......

  1. 使用属性。
  2. 在setter put代码中,将记录某些集合中的更改。也可以节省时间。
  3. 使用一些绘图控件来绘制此集合
  4. 编辑: 如果您不想创建属性,可以创建某种泛型类,它将具有此属性并具有某种内部日志记录逻辑。

答案 2 :(得分:1)

使用Perfmon并将该值发布到perfmon可以读取的计数器。 Perfmon完成所有绘图等。你只需要发布到perfmon。不幸的是,它没有很好的记录,并不是微不足道的。 (好吧,至少对于非托管c ++来说,当我调查它时,这并不是微不足道的)

我做了一段时间,并使用了一篇 MSJ文章中发表的一些课程。 (约1998年左右)

我会尝试找一些在线文档。

See this question for some links

This may also be useful

如果您找到解决方案或这对您有用,请告诉我们。

答案 3 :(得分:0)

希望有人会提出更好的答案,但这就是我在类似情况下所做的......

我将CSV格式的值输出到控制台。从那里,我将复制并粘贴到Excel中,让Excel为我做一些图形。它工作得很好,但在咖啡因驱动的开发过程中却是一个完全的麻烦。

答案 4 :(得分:0)

你不能只定义和数组并将someVariable写入循环内的array [i]吗?然后你可以在完成后引用它。

double[] x = new double[20];
double someVariable; 
for ( int i = 0; i < 20; i++) 
{
     someVariable = Math.Pi() * i;
     x[i] = someVariable;
} 

答案 5 :(得分:0)

我发现SpPerfChart非常易于使用且很有帮助。只需添加用户控件并输入您的更改数据即可。您将获得实时输入的任何数字的图形图。