在我的本机C ++程序的Visual Studio中,我想在调试期间获得一些变量的图。大多数情况下,我通过编辑autoexp.dat来使用对象的文本表示。但是对于某些变量,最好是绘制一个图而不是文本形式的值。
到目前为止,我使用了一个函数plot(const void* address,const char* type)
,并从立即窗口调用它,给出变量地址&类型,并在内部将其转换为正确的类型。
但这种方法有两个缺点:
一般来说,我感兴趣的是像 Matlab 或 Ch IDE 这样的东西,我可以在程序处于调试中断时从外部绘制某些变量。
答案 0 :(得分:3)
自VS 2005以来,Visual Studio已包含Visualizers,它几乎可以专门针对您的问题而设计。 MSDN比我能更好地解释这个概念:
展示台是其中的新组成部分 Visual Studio调试器用户界面。 可视化工具创建一个对话框或 其他界面显示变量 或以有意义的方式反对 适合其数据类型。对于 例如,HTML可视化器解释 一个HTML字符串并显示结果 因为它会出现在浏览器中 窗口,位图可视化解释器 一个位图结构并显示 它代表的图形,等等。一些 可视化工具也允许您进行编辑 查看数据。
请参阅here以获取有关如何编写一个教程的教程。
答案 1 :(得分:2)
您可以使用NetDebugPlot和NetDebugLog在实时图表中绘制变量。
#include "NetDebugLog.h"
NetLog(myvar);
NetLog("test", myvar2);
答案 2 :(得分:1)
正如其他人所说,我不确定你想要绘制什么。我通常理解,当有人说他想“绘制某些东西”时,他通常意味着一些带有数值的数组。 如果您的情况属实,英特尔的Array Visualizer可能会有所帮助。它可以自由下载,它集成到visual studio中,您可以通过两种方式使用它:作为独立应用程序或在调试时(“在某些断点处”),这样您就可以“在程序运行时”绘制数组值。 / p>
答案 3 :(得分:0)
您可以使用gnuplot吗?将您要绘制的数据吐出为调试打印,然后在您坐在断点处时,将其复制到外部文件并通过绘图仪运行。