从Visual Studio调试器中获取变量

3

我收到了一个任务,需要将正在VS中调试的程序的数组可视化。有没有办法从外部程序连接到Visual Studio调试会话,并获取其中的数据?


为什么必须发送到外部程序?不能在VS内部进行可视化吗? - Omer Raviv
我想将变量发送到外部程序,然后传递给MATLAB。我找到了用C#编写VS可视化程序的方法,但我必须调试不受管理的C ++代码。有没有办法发送C ++变量? - Alexander Shishenko
2个回答

2
理论上,您可以使用Debugger.GetExpression API从调试器中读取值并将它们发送到MATLAB,但如果我们谈论的是相对大量的数据(例如大矩阵或向量),那么这种解决方案具有合理性能的机会非常渺茫。
更简单的解决方案可能是利用您可以从调试器中调用自己的方法的事实-在代码中定义一个将数据发送到MATLAB的方法,确保它在定义序列化数据结构的地方定义(以便调试器不会抱怨可访问性问题),然后只需从Watch或Immediate窗口执行该方法即可。

0
这不是来自外部程序,但仍然很有用:msdn文档一个例子(或C++示例)。现在,如果你真的想让外部程序访问数组,你可以编写一个自定义的可视化器,它不会显示任何内容,而是将数据通过套接字/管道发送到另一个程序(我曾经使用这个原理在调试会话期间在Labview中显示带有音频数据的数组,非常方便)。

我有未经管理的C++代码需要可视化,有什么方法可以做到吗? - Alexander Shishenko
请看我链接的C++示例,我将其作为基础来通过套接字将数据发送到外部程序以绘制数据。 - stijn

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接