首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >Visual Studio 2008调试可视化矩阵

Visual Studio 2008调试可视化矩阵
EN

Stack Overflow用户
提问于 2012-09-18 22:38:51
回答 1查看 740关注 0票数 2

我正在构建一个复杂的数学软件,我必须在调试创建的大约500x700矩阵时查看。此外,矩阵不是按顺序填充的,这意味着它们是“随机”填充的,我需要看到这一点。我读到过,在memory屏幕上,我可以看到内存位置和它们的值,但是对于这么大的矩阵,memory窗口对我来说没有用。

所以我的问题是,除了内存窗口之外,还有其他方法可以在visual studio 08中调试和监视矩阵吗?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2012-09-18 22:54:51

我用来可视化复杂数据结构的方法是在您的类中创建一个Dump()方法,它将数据格式化为字符串并返回一个std::string。如果要检查变量,请在调试器中选择它,并使用Ctrl-Alt-Q调用QuickWatch,然后输入myVariable.Dump()。这将向您显示压缩成一行的字符串。如果你点击放大镜图标,它将打开一个可以调整大小的文本可视化窗口。

如果您需要对格式进行更多的控制,那么让Dump()方法接受您所需的细节级别的int。

编辑:

好的,这里有一个例子,使用stringstream来组装一个字符串:免责声明:我还没有尝试编译这段代码

代码语言:javascript
运行
复制
class Matrix {
public:
  int m_Data[ROWS][COLS];

  ...
  std::string Dump() const {
    std::ostringstream oss;
    for (int r=0;r<ROWS; r++) {
      for (int c=0;c<COLS; c++) {      
        oss << m_Data[r][c] << " ";
      }
      oss << "\n";
    }
    return oss.str();
  }

  void DumpToFile() {
    std::ofstream os("output.txt");
    os << Dump();
  }
};

QuickWatch ()方法将输出一个字符串,您可以在Dump窗口中显示该字符串。如果文本预览太小,那么可以调用DumpToFile(),它会将矩阵写入一个文件,您可以在单独的文本编辑器中查看该文件。关键是QuickWatch将评估函数调用(在一定程度上),因此您可以使用它来调用这些帮助器方法。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/12479264

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档