3

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

4

2 回答 2

2

从理论上讲,您可以使用Debugger.GetExpression API 从调试器中读取值并将它们发送到 MATLAB,但如果我们谈论的是相对大量的数据(例如大矩阵或向量),那么这种可能性具有合理性能的解决方案相当苗条。

一个更简单的解决方案可能是利用您可以从调试器调用自己的方法这一事实 - 在您的代码中定义一个将数据发送到 MATLAB 的方法,确保它定义在与您的数据结构相同的位置定义了重新序列化(这样调试器就不会抱怨可访问性问题),然后只需从 Watch 或 Immediate 窗口执行该方法。

于 2012-07-03T18:00:23.630 回答
0

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

于 2012-07-02T10:29:53.113 回答